mic*_*elo 7 variables perl strict
症状:$c="foo";
抛出错误而$b="foo";
不是.
我的脚本实际上是3行.以下不会产生错误或警告,
use strict;
$b = "foo";
print $b;
但如果更改为以下内容,则会出现"需要显式包名称"错误.
use strict;
$c = "foo";
print $c;
,
我理解这use strict;
需要在使用之前声明变量,并且更改$c = "foo";
为my $c = "foo";
确实可以防止错误,但仅此并不能解释这种差异.
谁能在这里解决一些问题?我确定我错过了一些明显的东西.我在Windows 7 x64中运行Strawberry Perl v5.16.3.我正在编辑npp并从命令行执行我的脚本c:\strawberry> perl test.pl
像有些全局变量$_
,$a
,$b
有效地预先声明.因此,可以在块中使用$a
和$b
变量而无需额外声明sort
,其中它们具有两个值的值:
use strict;
my @nums = (1, 5, 3, 10, 7);
my @sorted = sort { $a <=> $b } @nums
Run Code Online (Sandbox Code Playgroud)