Я очень новичок в Perl и недавно столкнулся со следующей проблемой. Мой код Perl должен находиться в одном файле (он вызывается другой программой, в которой я не контролирую). Теперь я хочу, чтобы сценарий работал с флагом (например, perl myscript.pl -T
для режима taint), хотя он изначально вызывается без флага. Как я могу это сделать, т. Е. Как мне установить флаг из файла Perl?Создание скрипта Perl * запуск самого себя * с флагами
Одна из идей, которые у меня возникли, состоит в том, чтобы снова запустить файл (после вызова без флагов), на этот раз с флагом -T
(выдав команду оболочки, такую как system($^X, "myscript.pl -T", @ARGS);
). Будет ли это работать? Любые лучшие идеи?
если вы контролируете myscript .pl' вы можете установить режим taint, изменив строку shebang, чтобы включить '-T', например '#!/usr/bin/env perl -T' –
Какая команда используется для вызова скрипта в другой программе? Если это что-то вроде '/ path/to/myscript.pl', вы можете просто добавить' -T' в строку shebang. – ThisSuitIsBlackNot
a -T в строке shebang необязательно включает режим taint - если скрипт вызывается с 'perl' из оболочки без' -T', вы получаете фатальную ошибку – mob