我是一个perl noob,我用Google搜索了错误,找不到相关内容。
#!/usr/bin/perl
use strict;
my %cc;
\my @cc => (3,4,5,6,6,7,7);
$cc{key} = \@cc;
$0 = $cc{key}[0] * 2;
$1 = $cc{key}[1] * 1; #error here
my $total = $0 + $1;
print "$1";
print "$total";
第11行是我的错误......
答案 0 :(得分:14)
$0
和$1
是Perl中的特殊变量(请参阅perldoc perlvar)。 $1
是一个只读变量。
此外,您应该启用warnings以查看代码中的更多问题。
我的猜测是你想要这样的东西:
use strict;
use warnings;
my @cc = (3,4,5,6,6,7,7);
my %cc;
$cc{key} = \@cc;
my $k0 = $cc{key}[0] * 2;
my $k1 = $cc{key}[1] * 1;
my $total = $k0 + $k1;
print "$k1\n";
print "$total\n";
perldoc perldiag提供了有关错误消息的更多信息:“尝试修改只读值。”