📄 toke
字号:
toke.c AOK we seem to have lost a few ambiguous warnings!! $a = <<; Use of comma-less variable list is deprecated (called 3 times via depcom) \1 better written as $1 use warnings 'syntax' ; s/(abc)/\1/; warn(warn_nosemi) Semicolon seems to be missing $a = 1 &time ; Reversed %c= operator my $a =+ 2 ; $a =- 2 ; $a =* 2 ; $a =% 2 ; $a =& 2 ; $a =. 2 ; $a =^ 2 ; $a =| 2 ; $a =< 2 ; $a =/ 2 ; Multidimensional syntax %.*s not supported my $a = $a[1,2] ; You need to quote \"%s\"" sub fred {} ; $SIG{TERM} = fred; Scalar value %.*s better written as $%.*s" @a[3] = 2; @a{3} = 2; Can't use \\%c to mean $%c in expression $_ = "ab" ; s/(ab)/\1/e; Unquoted string "abc" may clash with future reserved word at - line 3. warn(warn_reserved $a = abc; Possible attempt to separate words with commas @a = qw(a, b, c) ; Possible attempt to put comments in qw() list @a = qw(a b # c) ; %s (...) interpreted as function print ("") printf ("") sort ("") Ambiguous use of %c{%s%s} resolved to %c%s%s $a = ${time[2]} $a = ${time{2}} Ambiguous use of %c{%s} resolved to %c%s $a = ${time} sub fred {} $a = ${fred} Misplaced _ in number $a = 1_2; $a = 1_2345_6; Bareword \"%s\" refers to nonexistent package $a = FRED:: ; Ambiguous call resolved as CORE::%s(), qualify as such or use & sub time {} my $a = time() Unrecognized escape \\%c passed through $a = "\m" ; %s number > %s non-portable my $a = 0b011111111111111111111111111111110 ; $a = 0b011111111111111111111111111111111 ; $a = 0b111111111111111111111111111111111 ; $a = 0x0fffffffe ; $a = 0x0ffffffff ; $a = 0x1ffffffff ; $a = 0037777777776 ; $a = 0037777777777 ; $a = 0047777777777 ; Integer overflow in binary number my $a = 0b011111111111111111111111111111110 ; $a = 0b011111111111111111111111111111111 ; $a = 0b111111111111111111111111111111111 ; $a = 0x0fffffffe ; $a = 0x0ffffffff ; $a = 0x1ffffffff ; $a = 0037777777776 ; $a = 0037777777777 ; $a = 0047777777777 ; dump() better written as CORE::dump() Use of /c modifier is meaningless without /g Use of /c modifier is meaningless in s/// Mandatory Warnings ------------------ Use of "%s" without parentheses is ambiguous [check_uni] rand + 4 Ambiguous use of -%s resolved as -&%s() [yylex] sub fred {} ; - fred ; Precedence problem: open %.*s should be open(%.*s) [yylex] open FOO || die; Operator or semicolon missing before %c%s [yylex] Ambiguous use of %c resolved as operator %c *foo *foo__END__# toke.c use warnings 'deprecated' ;format STDOUT =@<<< @||| @>>> @>>>$a $b "abc" 'def'.no warnings 'deprecated' ;format STDOUT =@<<< @||| @>>> @>>>$a $b "abc" 'def'.EXPECTUse of comma-less variable list is deprecated at - line 5.Use of comma-less variable list is deprecated at - line 5.Use of comma-less variable list is deprecated at - line 5.######### toke.cuse warnings 'deprecated' ;$a = <<;no warnings 'deprecated' ;$a = <<;EXPECTUse of bare << to mean <<"" is deprecated at - line 3.######### toke.cuse warnings 'syntax' ;s/(abc)/\1/;no warnings 'syntax' ;s/(abc)/\1/;EXPECT\1 better written as $1 at - line 3.######### toke.cuse warnings 'semicolon' ;$a = 1&time ;no warnings 'semicolon' ;$a = 1&time ;EXPECTSemicolon seems to be missing at - line 3.######### toke.cuse warnings 'syntax' ;my $a =+ 2 ;$a =- 2 ;$a =* 2 ;$a =% 2 ;$a =& 2 ;$a =. 2 ;$a =^ 2 ;$a =| 2 ;$a =< 2 ;$a =/ 2 ;EXPECTReversed += operator at - line 3.Reversed -= operator at - line 4.Reversed *= operator at - line 5.Reversed %= operator at - line 6.Reversed &= operator at - line 7.Reversed .= operator at - line 8.Reversed ^= operator at - line 9.Reversed |= operator at - line 10.Reversed <= operator at - line 11.syntax error at - line 8, near "=."syntax error at - line 9, near "=^"syntax error at - line 10, near "=|"Unterminated <> operator at - line 11.######### toke.cno warnings 'syntax' ;my $a =+ 2 ;$a =- 2 ;$a =* 2 ;$a =% 2 ;$a =& 2 ;$a =. 2 ;$a =^ 2 ;$a =| 2 ;$a =< 2 ;$a =/ 2 ;EXPECTsyntax error at - line 8, near "=."syntax error at - line 9, near "=^"syntax error at - line 10, near "=|"Unterminated <> operator at - line 11.######### toke.cuse warnings 'syntax' ;my $a = $a[1,2] ;no warnings 'syntax' ;my $a = $a[1,2] ;EXPECTMultidimensional syntax $a[1,2] not supported at - line 3.######### toke.cuse warnings 'syntax' ;sub fred {} ; $SIG{TERM} = fred;no warnings 'syntax' ;$SIG{TERM} = fred;EXPECTYou need to quote "fred" at - line 3.######### toke.cuse warnings 'syntax' ;@a[3] = 2;@a{3} = 2;no warnings 'syntax' ;@a[3] = 2;@a{3} = 2;EXPECTScalar value @a[3] better written as $a[3] at - line 3.Scalar value @a{3} better written as $a{3} at - line 4.######### toke.cuse warnings 'syntax' ;$_ = "ab" ; s/(ab)/\1/e;no warnings 'syntax' ;$_ = "ab" ; s/(ab)/\1/e;EXPECTCan't use \1 to mean $1 in expression at - line 4.######### toke.cuse warnings 'reserved' ;$a = abc;$a = { def=> 1 };no warnings 'reserved' ;$a = abc;EXPECTUnquoted string "abc" may clash with future reserved word at - line 3.######### toke.cuse warnings 'qw' ;@a = qw(a, b, c) ;no warnings 'qw' ;@a = qw(a, b, c) ;EXPECTPossible attempt to separate words with commas at - line 3.######### toke.cuse warnings 'qw' ;@a = qw(a b #) ;no warnings 'qw' ;@a = qw(a b #) ;EXPECTPossible attempt to put comments in qw() list at - line 3.######### toke.cuse warnings 'syntax' ;print ("");print ("") and $x = 1;print ("") or die;print ("") // die;print (1+2) * 3 if 0; # only this one should warnprint (1+2) if 0;EXPECTprint (...) interpreted as function at - line 7.######### toke.cno warnings 'syntax' ;print ("")EXPECT######### toke.cuse warnings 'syntax' ;printf ("");printf ("") . '';EXPECTprintf (...) interpreted as function at - line 4.######### toke.cno warnings 'syntax' ;printf ("")EXPECT######### toke.cuse warnings 'syntax' ;sort ("");sort ("") . '';EXPECTsort (...) interpreted as function at - line 4.######### toke.cno warnings 'syntax' ;sort ("")EXPECT######### toke.cuse warnings 'ambiguous' ;$a = ${time[2]};no warnings 'ambiguous' ;$a = ${time[2]};EXPECTAmbiguous use of ${time[...]} resolved to $time[...] at - line 3.######### toke.cuse warnings 'ambiguous' ;$a = ${time{2}};EXPECTAmbiguous use of ${time{...}} resolved to $time{...} at - line 3.######### toke.cno warnings 'ambiguous' ;$a = ${time{2}};EXPECT######### toke.cuse warnings 'ambiguous' ;$a = ${time} ;no warnings 'ambiguous' ;$a = ${time} ;EXPECTAmbiguous use of ${time} resolved to $time at - line 3.######### toke.cuse warnings 'ambiguous' ;sub fred {}$a = ${fred} ;no warnings 'ambiguous' ;$a = ${fred} ;EXPECTAmbiguous use of ${fred} resolved to $fred at - line 4.######### toke.cuse warnings 'syntax' ;$a = _123; print "$a\n"; #( 3 string)$a = 1_23; print "$a\n";$a = 12_3; print "$a\n";$a = 123_; print "$a\n"; # 6$a = _+123; print "$a\n"; # 7 string)$a = +_123; print "$a\n"; #( 8 string)$a = +1_23; print "$a\n";$a = +12_3; print "$a\n";$a = +123_; print "$a\n"; # 11$a = _-123; print "$a\n"; #(12 string)$a = -_123; print "$a\n"; #(13 string)$a = -1_23; print "$a\n";$a = -12_3; print "$a\n";$a = -123_; print "$a\n"; # 16$a = 123._456; print "$a\n"; # 17$a = 123.4_56; print "$a\n";$a = 123.45_6; print "$a\n";$a = 123.456_; print "$a\n"; # 20$a = +123._456; print "$a\n"; # 21$a = +123.4_56; print "$a\n"; $a = +123.45_6; print "$a\n"; $a = +123.456_; print "$a\n"; # 24$a = -123._456; print "$a\n"; # 25$a = -123.4_56; print "$a\n"; $a = -123.45_6; print "$a\n";$a = -123.456_; print "$a\n"; # 28$a = 123.456E_12; printf("%.0f\n", $a); # 29$a = 123.456E1_2; printf("%.0f\n", $a);$a = 123.456E12_; printf("%.0f\n", $a); # 31$a = 123.456E_+12; printf("%.0f\n", $a); # 32$a = 123.456E+_12; printf("%.0f\n", $a); # 33$a = 123.456E+1_2; printf("%.0f\n", $a);$a = 123.456E+12_; printf("%.0f\n", $a); # 35$a = 123.456E_-12; print "$a\n"; # 36$a = 123.456E-_12; print "$a\n"; # 37$a = 123.456E-1_2; print "$a\n";$a = 123.456E-12_; print "$a\n"; # 39$a = 1__23; print "$a\n"; # 40$a = 12.3__4; print "$a\n"; # 41$a = 12.34e1__2; printf("%.0f\n", $a); # 42no warnings 'syntax' ;$a = _123; print "$a\n";$a = 1_23; print "$a\n";$a = 12_3; print "$a\n";$a = 123_; print "$a\n";$a = _+123; print "$a\n";$a = +_123; print "$a\n";$a = +1_23; print "$a\n";$a = +12_3; print "$a\n";$a = +123_; print "$a\n";$a = _-123; print "$a\n";$a = -_123; print "$a\n";$a = -1_23; print "$a\n";$a = -12_3; print "$a\n";$a = -123_; print "$a\n";$a = 123._456; print "$a\n";$a = 123.4_56; print "$a\n";$a = 123.45_6; print "$a\n";$a = 123.456_; print "$a\n";$a = +123._456; print "$a\n";$a = +123.4_56; print "$a\n";$a = +123.45_6; print "$a\n";$a = +123.456_; print "$a\n";$a = -123._456; print "$a\n";$a = -123.4_56; print "$a\n";$a = -123.45_6; print "$a\n";$a = -123.456_; print "$a\n";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -