Если ваш Perl-скрипт слишком длинный для того, чтобы его можно было контролировать в одной строке (с точкой с запятой, разделяющей операторы Perl), тогда bash
очень рад расширить аргумент из одной кавычки на столько строк, сколько вам нужно:
Bash-command |
perl -ne 'print something_here;
do { something_else } while (0);
generally("avoid single quotes in your Perl!");
say q{Here is single-quoted content in Perl};
' |
Another-Bash-Command
Также в руководстве 'perldoc perlrun' написано:
-e commandline
может использоваться для ввода одной строки программы. Если задано -e
, Perl не будет искать имя файла в списке аргументов. Для создания многострочного скрипта может быть дано несколько команд -e
. Обязательно используйте точки с запятой, как в обычной программе.
-E commandline
ведет себя так же, как -e, за исключением того, что он неявно включает все дополнительные функции (в главном модуле компиляции).
Так что вы также можете сделать:
Bash-command |
perl -n -e 'print something_here;' \
-e 'do { something_else } while (0);' \
-e 'generally("avoid single quotes in your Perl!");' \
-e 'say q{Here is single-quoted content in Perl};' |
Another-Bash-Command
Если скрипт становится больше, скажем, 20 строк (где-то между 10 и 50, в некоторой степени по выбору), то, вероятно, пришло время разделить скрипт Perl на его собственный файл и запустить его вместо этого.