perl学習1
perl: ,
shell: bash , 、
php: ,
python: , 、 , , , ,
、 :
1: ,
2: , 。 , :
$text = 'This is two lines of text '; : $text = "This is two
lines of text
"; 、 1: $string = "43"; $number = 28; $result = $string + $number; # $result = 71 , , : $result = "hello" * 5; # $result = 0 $result = "12a34" +1; # $result = 13、 :+( )、-( )、*( )、/( )、**( )、%( )、-( ) (1) , (-5) ** 2.5 # error; (2) , 10 ** 999999 # error (3) , ; (4) : - $y ; # $y * -1
、
Table 3.1.
< > == <= >= != <=> , 1, 0, or -1 <=> : 0 - 1 - -1 -
、
Table 3.2.
lt gt eq le ge ne cmp , 1, 0, or -1 、 :$a || $b $a or $b :$a && $b $a and $b :! $a not $a :$a xor $b
:& :| :~ :^ :$x << 1 :$x >> 2 : & , PERL 。、
Table 3.3.
= Assignment only += Addition and assignment -= Subtraction and assignment *= Multiplication and assignment /= Division and assignment %= Remainder and assignment **= Exponentiation and assignment &= Bitwise AND and assignment |= Bitwise OR and assignment ^= Bitwise XOR and assignment
Table 3.4.
$a = 1; none (basic assignment) $a -= 1; $a = $a - 1; $a *= 2; $a = $a * 2; $a /= 2; $a = $a / 2; $a %= 2; $a = $a % 2; $a **= 2; $a = $a ** 2; $a &= 2; $a = $a & 2; $a |= 2; $a = $a | 2; $a ^= 2; $a = $a ^ 2; .= , : $value1 = $value2 = "a string"; .= ($a = $b) += 3; $a = $b; $a += 3; 。 、 :++、--( C++ ) . :++$var-- # error . / :$var2 = $var1 + ++$var1; # error . PERL ++ , 'z'、'Z'、'9' , : $stringvar = "abc"; $stringvar++; # $stringvar contains "abd" now $stringvar = "aBC"; $stringvar++; # $stringvar contains "aBD" now $stringvar = "abz"; $stringvar++; # $stringvar now contains "aca" $stringvar = "AGZZZ"; $stringvar++; # $stringvar now contains "AHAAA" $stringvar = "ab4"; $stringvar++; # $stringvar now contains "ab5" $stringvar = "bc999"; $stringvar++; # $stringvar now contains "bd000" . --,PERL $stringvar = "abc"; $stringvar--; # $stringvar = -1 now . , , ++ , 1, : $stringvar = "ab*c"; $stringvar++; $stringvar = "ab5c"; $stringvar++; 、 : . :x ( +=): .= : $newstring = "potato" . "head"; $newstring = "t" x 5; $a = "be"; $a .= "witched"; # $a is now "bewitched" 、 , : $var1 += 1, $var2 = $var1; $var1 += 1; $var2 = $var1; , , : $val = 26; $result = (++$val, $val + 5); # $result = 32 : $val = 26; $result = ++$val, $val + 5; # $result = 27 、 C , ? 1: 2, 1, 2, : $result = $var == 0 ? 14 : 7; $result = 43 + ($divisor == 0 ? 0 : $dividend / $divisor); PERL 5 , , : $condvar == 43 ? $var1 : $var2 = 14; $condvar == 43 ? $var1 = 14 : $var2 = 14; 、
Table 3.6.
++, -- , -, ~, ! ** =~, !~ *, /, %, x , , , +, -, . , , <<, >> -e, -r, etc. <, <=, >, >=, lt, le, gt, ge ==, !=, <=>, eq, ne, cmp & |, ^ , && || .. ? and : =, +=, -=, *=, and so on , not Low-precedence logical NOT and Low-precedence logical AND or, xor Low-precedence logical OR and XOR . (associativity):
Table 3.7.
++, -- -, ~, ! Right-to-left ** Right-to-left =~, !~ Left-to-right *, /, %, x Left-to-right +, -, . Left-to-right <<, >> Left-to-right -e, -r, <, <=, >, >=, lt, le, gt, ge Left-to-right ==, !=, <=>, eq, ne, cmp Left-to-right & Left-to-right |, ^ Left-to-right && Left-to-right || Left-to-right .. Left-to-right ? and : Right-to-left =, +=, -=, *=, Right-to-left and so on , Left-to-right not Left-to-right and Left-to-right or, xor Left-to-right : 1、 , 。 2、 、 。