Perl通常会抱怨实际错误的行,例如,当一个变量只使用一次时:
use warnings;
if ( 0 ) {
} elsif ( $test ) { } # line 3
# Name "main::test" used only once: possible typo at testt.pl line 3.
Run Code Online (Sandbox Code Playgroud)
这对使用未初始化的警告不起作用$_:
use warnings;
if ( 0 ) { # line 2
} elsif ( chomp ) { }
# Use of uninitialized value $_ in scalar chomp at testt.pl line 2.
use warnings;
if ( 0 ) { # line 2
} elsif ( m/test/ ) { }
# Use of uninitialized value $_ in pattern match (m//) at testt.pl line 2.
Run Code Online (Sandbox Code Playgroud)
是什么导致这个?这种行为何时有用?
elsif内警告的行号现在是正确的.
请注意,此更改仅影响elsif; 您仍会看到运行时错误/警告给出语句的开头或结尾行号而不是违规代码的实际行:
$ perl
use warnings;
0 ? do {
} : $test ? do {
} : do { };
0 ? do {
} : chomp() ? do {
} : do { };
Name "main::test" used only once: possible typo at - line 3. # correct
Use of uninitialized value $_ in scalar chomp at - line 8. # incorrect
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
951 次 |
| 最近记录: |