Я часто пишу однострочники в командной строке так:
perl -Magic -wlnaF'\t' -i.orig -e 'abracadabra($_) for (@F)'
Чтобы написать это, я мог передать те же флаги в строку shebang:
#!/usr/bin/perl -Magic -wlnaF'\t' -i.orig
abracadabra($_) for (@F);
Однако есть две проблемы с этим. Во-первых, если кто-то вызывает скрипт, передавая его непосредственно в perl (как «perl script.pl», а не «./script.pl»), флаги игнорируются. Кроме того, я не могу использовать «/ usr / bin / env perl» для этого, потому что, очевидно, я не могу передать аргументы perl при вызове его с помощью env, поэтому я не могу использовать другую установку perl.
В любом случае можно сказать сценарию "Эй, всегда запускайся так, как будто тебя вызвали с -wlnaF '\ t' -i.orig"?