私はこのような単純な1オフを書くための短い方法を探しています:私は、私はそれは相当だろう設定することができ、環境変数を期待していたPerl:env varの最小バージョンを指定しますか?
perl -e 'use 5.016;say 4.3%3'
または
perl -e 'print 4.3%3 ."\n"'
use 5.016
ので、私は書くことができます:
perl -e 'say 4.3%3'
はおそらく、私は、ドキュメントに何かを見落としてきましたか?
私はこのような単純な1オフを書くための短い方法を探しています:私は、私はそれは相当だろう設定することができ、環境変数を期待していたPerl:env varの最小バージョンを指定しますか?
perl -e 'use 5.016;say 4.3%3'
または
perl -e 'print 4.3%3 ."\n"'
use 5.016
ので、私は書くことができます:
perl -e 'say 4.3%3'
はおそらく、私は、ドキュメントに何かを見落としてきましたか?
perl -E 'say ...';
これは-e
のようですが、(say
のいずれかである)すべての機能がオンになります。 perldoc/perlrunから:
-eコマンドライン
は、プログラムの1行を入力するために使用することができます。 -eを指定すると、Perlは引数リストのファイル名を検索しません。 [...]
-Eコマンドライン
は、それが暗黙のうちに(メインコンパイル単位で)すべてのオプション の機能を有効にすることを除いて、ちょうど-eのように振る舞います。 featureを参照してください。
正直に言うと:私の答えは正確にあなたの元の質問に答えていません。あなたは最小のPerlバージョンのの使用方法/要求方法を尋ねました。 @ThisSuitIsBlackNotさんのコメントに与えられた解決策は、より良いフィットすることについて:
perl -M5.016 -e 'say ...'
これは、Perl 5.16に付属のすべての機能をオンにして、Perlのバージョンが5.16未満であれば、同時に文句を言います。いつもの場合、hereとhereをとしてください。
-E
ソリューションは現在のPerlのバージョンのすべての機能を無効にします。
また、環境変数も尋ねました。 indeed oneがあります:彼らは、すべてのPerlコマンドライン上であるかのように、この変数に
export PERL5OPT='-Mstrict -Mwarnings -M5.016'
スイッチが処理されます。
環境変数を使用して、コードを共有する場合は注意が必要:あなたは(あなたがあなたの.bashrcに数ヶ月前にそれを設定しているため)それについて同僚に伝えるために忘れてしまった場合、その後、いくつかのスニペットは、他人のためにあなたのために働くが、ないかもしれません。
は、スクリプトでそれを追加したいと思うかもしれません、 'use feature'を ';'か 'use 5 'としなければなりません。10; 'など – stevieb