📄 toke
字号:
toke.c AOK we seem to have lost a few ambiguous warnings!! 1 if $a EQ $b ; 1 if $a NE $b ; 1 if $a LT $b ; 1 if $a GT $b ; 1 if $a GE $b ; 1 if $a LE $b ; $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; chmod() mode argument is missing initial 0 chmod 3; 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) ; umask: argument is missing initial 0 umask 3; %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 ; 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' ;1 if $a EQ $b ;1 if $a NE $b ;1 if $a GT $b ;1 if $a LT $b ;1 if $a GE $b ;1 if $a LE $b ;no warnings 'deprecated' ;1 if $a EQ $b ;1 if $a NE $b ;1 if $a GT $b ;1 if $a LT $b ;1 if $a GE $b ;1 if $a LE $b ;EXPECTUse of EQ is deprecated at - line 3.Use of NE is deprecated at - line 4.Use of GT is deprecated at - line 5.Use of LT is deprecated at - line 6.Use of GE is deprecated at - line 7.Use of LE is deprecated at - line 8.######### toke.cuse 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 'chmod' ;chmod 3;no warnings 'chmod' ;chmod 3;EXPECTchmod() mode argument is missing initial 0 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 'umask' ;umask 3;no warnings 'umask' ;umask 3;EXPECTumask: argument is missing initial 0 at - line 3.######### toke.cuse warnings 'syntax' ;print ("")EXPECTprint (...) interpreted as function at - line 3.######### toke.cno warnings 'syntax' ;print ("")EXPECT######### toke.cuse warnings 'syntax' ;printf ("")EXPECTprintf (...) interpreted as function at - line 3.######### toke.cno warnings 'syntax' ;printf ("")EXPECT######### toke.cuse warnings 'syntax' ;sort ("")EXPECTsort (...) interpreted as function at - line 3.######### 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 = 1_2;$a = 1_2345_6;no warnings 'syntax' ;$a = 1_2;$a = 1_2345_6;EXPECTMisplaced _ in number at - line 3.Misplaced _ in number at - line 4.Misplaced _ in number at - line 4.######### toke.cuse warnings 'bareword' ;#line 25 "bar"$a = FRED:: ;no warnings 'bareword' ;#line 25 "bar"$a = FRED:: ;EXPECTBareword "FRED::" refers to nonexistent package at bar line 25.######### toke.cuse warnings 'ambiguous' ;sub time {}my $a = time() ;no warnings 'ambiguous' ;my $b = time() ;EXPECTAmbiguous call resolved as CORE::time(), qualify as such or use & at - line 4.######### toke.cuse warnings ;eval <<'EOE';# line 30 "foo"warn "yelp";{ $_ = " \x{123} " ;}EOEEXPECTyelp at foo line 30.######### toke.cmy $a = rand + 4 ;EXPECTWarning: Use of "rand" without parens is ambiguous at - line 2.######### toke.c$^W = 0 ;my $a = rand + 4 ;{ no warnings 'ambiguous' ; $a = rand + 4 ; use warnings 'ambiguous' ; $a = rand + 4 ;}$a = rand + 4 ;EXPECTWarning: Use of "rand" without parens is ambiguous at - line 3.Warning: Use of "rand" without parens is ambiguous at - line 8.Warning: Use of "rand" without parens is ambiguous at - line 10.######### toke.csub fred {};-fred ;EXPECTAmbiguous use of -fred resolved as -&fred() at - line 3.######### toke.c$^W = 0 ;sub fred {} ;-fred ;{ no warnings 'ambiguous' ; -fred ; use warnings 'ambiguous' ; -fred ;}-fred ;EXPECTAmbiguous use of -fred resolved as -&fred() at - line 4.Ambiguous use of -fred resolved as -&fred() at - line 9.Ambiguous use of -fred resolved as -&fred() at - line 11.######### toke.copen FOO || time;EXPECTPrecedence problem: open FOO should be open(FOO) at - line 2.######### toke.c$^W = 0 ;open FOO || time;{ no warnings 'precedence' ; open FOO || time; use warnings 'precedence' ; open FOO || time;}open FOO || time;EXPECTPrecedence problem: open FOO should be open(FOO) at - line 3.Precedence problem: open FOO should be open(FOO) at - line 8.Precedence problem: open FOO should be open(FOO) at - line 10.######### toke.c$^W = 0 ;*foo *foo ;{ no warnings 'ambiguous' ; *foo *foo ; use warnings 'ambiguous' ; *foo *foo ;}*foo *foo ;EXPECTOperator or semicolon missing before *foo at - line 3.Ambiguous use of * resolved as operator * at - line 3.Operator or semicolon missing before *foo at - line 8.Ambiguous use of * resolved as operator * at - line 8.Operator or semicolon missing before *foo at - line 10.Ambiguous use of * resolved as operator * at - line 10.######### toke.cuse warnings 'misc' ;my $a = "\m" ;no warnings 'misc' ;$a = "\m" ;EXPECTUnrecognized escape \m passed through at - line 3.######### toke.cuse warnings 'portable' ;my $a = 0b011111111111111111111111111111110 ; $a = 0b011111111111111111111111111111111 ; $a = 0b111111111111111111111111111111111 ; $a = 0x0fffffffe ; $a = 0x0ffffffff ; $a = 0x1ffffffff ; $a = 0037777777776 ; $a = 0037777777777 ; $a = 0047777777777 ;no warnings 'portable' ; $a = 0b011111111111111111111111111111110 ; $a = 0b011111111111111111111111111111111 ; $a = 0b111111111111111111111111111111111 ; $a = 0x0fffffffe ; $a = 0x0ffffffff ; $a = 0x1ffffffff ; $a = 0037777777776 ; $a = 0037777777777 ; $a = 0047777777777 ;EXPECTBinary number > 0b11111111111111111111111111111111 non-portable at - line 5.Hexadecimal number > 0xffffffff non-portable at - line 8.Octal number > 037777777777 non-portable at - line 11.######### toke.cuse warnings 'overflow' ;my $a = 0b011111111111111111111111111111110 ; $a = 0b011111111111111111111111111111111 ; $a = 0b10000000000000000000000000000000000000000000000000000000000000000 ; $a = 0x0fffffffe ; $a = 0x0ffffffff ; $a = 0x10000000000000000 ; $a = 0037777777776 ; $a = 0037777777777 ; $a = 002000000000000000000000;no warnings 'overflow' ; $a = 0b011111111111111111111111111111110 ; $a = 0b011111111111111111111111111111111 ; $a = 0b10000000000000000000000000000000000000000000000000000000000000000 ; $a = 0x0fffffffe ; $a = 0x0ffffffff ; $a = 0x10000000000000000 ; $a = 0037777777776 ; $a = 0037777777777 ; $a = 002000000000000000000000;EXPECTInteger overflow in binary number at - line 5.Integer overflow in hexadecimal number at - line 8.Integer overflow in octal number at - line 11.######### toke.cuse warnings 'ambiguous';"@mjd_previously_unused_array"; no warnings 'ambiguous';"@mjd_previously_unused_array"; EXPECTPossible unintended interpolation of @mjd_previously_unused_array in string at - line 3.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -