我试图学习Perl,我正在使用OS-X 10.8.4并拥有Perl版本:
这是为darwin-thread-multi-2level构建的perl 5,版本12,subversion 4(v5.12.4)
我正在尝试运行此代码:
#!/usr/bin/env perl
use strict;
use warnings;
my $a = 1;
my $b = 1;
say $a + $b ;
Run Code Online (Sandbox Code Playgroud)
我得到了这个:
Can't call method "say" without a package or object reference at test2.pl line 10.
Run Code Online (Sandbox Code Playgroud)
谢谢!
say
是一个新功能,在Perl 5.10中添加.为了不破坏旧代码,默认情况下它不可用.要启用它,您可以这样做
use feature 'say';
Run Code Online (Sandbox Code Playgroud)
但它可能更好
use feature ':5.12';
Run Code Online (Sandbox Code Playgroud)
这将打开Perl 5.12(您正在运行的版本)中提供的所有新功能.这包括say
,state
,switch
,unicode_strings
和array_base
功能.