my $list = "1 3";
my @arr = split " ", $list;
my $c = $arr[0] ^ $arr[1];
print $c, "n";
उपरोक्त असामान्य चरित्र दे रहा है।
इसे 2 के रूप में जवाब देना चाहिए, क्योंकि 1 एक्सओआर 3 2 है।
उत्तर:
जवाब के लिए 8 № 1^
यह निर्धारित करने के लिए कि कौन सी कार्रवाई करने के लिए अपने ऑपरेटिंग के आंतरिक भंडारण प्रारूप को मानता है।
>perl -E"say( 1^3 )"
2
>perl -E"say( "1"^"3" )"
☻
उत्तरार्द्ध तारों के प्रत्येक चरित्र को xors।
>perl -E"say( chr( ord("1")^ord("3") ) )"
☻
आप शून्य जोड़कर अंक को मजबूर कर सकते हैं।
>perl -E"@a = split(" ", "1 3"); say( (0+$a[0])^(0+$a[1]) )"
2
>perl -E"@a = map 0+$_, split(" ", "1 3"); say( $a[0]^$a[1] )"
2
तकनीकी रूप से, आपको केवल एक ऑपरेंड संख्यात्मक बनाने की आवश्यकता है।
>perl -E"@a = split(" ", "1 3"); say( (0+$a[0])^$a[1] )"
2
>perl -E"@a = split(" ", "1 3"); say( $a[0]^(0+$a[1]) )"
2
जवाब के लिए 2 № 2
यहां दो समस्याएं हैं:
$c1
तथा$c2
शुरुआत में अपरिभाषित हैं।- वे "तार कर रहे हैं।
(मैं मानता हूं कि वहां कुछ गुम है, जैसे कि "सी 1" और "सी 2" सूची के पहले / अंतिम तत्व क्रमश: 1 और 3 के रूप में निकाले जाते हैं)
प्रयत्न:
$list="1 2 3";
@arr=split(" ",$list);
$c=int($arr[0])^int($arr[2]);
print "$c";
the int
फ़ंक्शन स्पष्ट रूप से एक संख्यात्मक मान के लिए डाले ।