当我在Windows XP上的ActivePerl 5.8上运行此程序时,出现语法错误:
#!C:\Perl\bin\perl.exe
use strict; # enabled
use warnings;
(my $rocks[0], my $rocks[1]) = qw/Hello World/; # Syntax error near '$rocks['
my $rocks[2] = 'Tom'; # Syntax error near '$rocks['
my $rocks[3] = 'Cat'; # Syntax error near '$rocks['
print $rocks[0];
print $rocks[1];
print $rocks[2];
print $rocks[3];
Run Code Online (Sandbox Code Playgroud)
当我@
在数组名称之前使用()时rocks
,它运行良好.我使用时如何修复上述错误$
?谢谢.
my @rocks = qw{Hello World Tom Cat}; # worked well.
Run Code Online (Sandbox Code Playgroud)
sat*_*esh 11
不要用my
一次又一次的申报$rocks[0]
,$rocks[1]
等等.一旦声明数组(@rocks
),并使用它.
更正后的代码是这样的:
use strict;
use warnings;
my @rocks; ## declare the array here
($rocks[0], $rocks[1]) = qw/Hello World/;
$rocks[2] = 'Tom';
$rocks[3] = 'Cat';
Run Code Online (Sandbox Code Playgroud)