5

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 ;

そして、私はこれを得ています:

Can't call method "say" without a package or object reference at test2.pl line 10.

ありがとう!

4

3 に答える 3

10

sayPerl 5.10 で追加された新機能です。古いコードを壊さないようにするために、デフォルトでは利用できません。それを有効にするには、次のことができます

use feature 'say';

でもやったほうがいいかも

use feature ':5.12';

これにより、Perl 5.12 (実行しているバージョン) で利用可能なすべての新機能が有効になります。これには、、、、およびsay機能が含まれます。stateswitchunicode_stringsarray_base

featureそれぞれの機能については、ドキュメントを参照してください。

于 2013-06-27T03:06:17.580 に答える
4

必要があるuse feature qw (say);

のドキュメントsay

于 2013-06-27T03:02:29.217 に答える
1

Modern::Perl は CPAN の優れたパッケージであり、perl の最新バージョンの機能だけでなく、すべての perl プログラマーが使用する必要がある (imho) warn や strict などのプラグマもオンにします。私のすべてのプログラムは今このように始まります:

Modern::Perl '2013' を使用します。

于 2013-12-12T17:35:12.883 に答える