perl -E 'say ...';
Das ist wie -e
aber schaltet alle Funktionen (die say
ist einer). Von perldoc/perlrun:
-e Command
kann eine Zeile Programm einzugeben verwendet werden. Wenn -e angegeben wird, sucht Perl nicht nach einem Dateinamen in der Argumentliste. [...]
-E Kommandozeile
verhält sich wie -e, mit der Ausnahme, dass es ermöglicht implizit alle optionalen Funktionen (in der Hauptübersetzungseinheit). Siehe feature.
Um ehrlich zu sein: meine Antwort nicht genau Ihre ursprüngliche Frage beantworten. Sie haben gefragt, wie Sie eine minimale Perl-Version verwenden/benötigen. Für, dass die Lösung in @ThisSuitIsBlackNot ‚s Kommentar gegeben passt besser:
perl -M5.016 -e 'say ...'
Dies schaltet alle Funktionen, die mit Perl 5.16 und zugleich kam beschwert sich, wenn Ihre Perl-Version kleiner als 5,16 ist. Look here und here für eine wann-kam-welche Tabelle.
Die -E
Lösung schaltet blind alle Funktionen Ihrer aktuellen Perl-Version ein.
Sie haben auch nach einer Umgebungsvariablen gefragt. Es gibt indeed one:
export PERL5OPT='-Mstrict -Mwarnings -M5.016'
Schalter in dieser Variable behandelt werden, als ob sie auf jeder Perl Kommandozeile waren.
Seien Sie vorsichtig, wenn Sie die Umgebungsvariable und den Austausch von Code verwendet: wenn Sie vergessen haben, Ihre Kollegen davon zu erzählen (weil Sie es Monate zuvor in .bashrc gesetzt), dann könnten einige Auszüge für Sie arbeiten, aber nicht für andere .
möchte vielleicht hinzufügen, dass in einem Skript würde man 'verwenden Feature 'sagen';' oder 'verwenden 5.10; 'oder dergleichen – stevieb