У меня есть Perl-скрипт, который вызывает другие программы, то есть он вызывает system
и / или exec
и / или open
с каналом и / или использует оператор обратного ключа.
Могу ли я запустить этот скрипт таким образом, чтобы он выводил аргументы для каждого из вышеперечисленных, чтобы я мог видеть, к чему он обращается?
Например, такая программа , которую я не могу изменить
#!/usr/bin/perl
sub get_arg {return "argument$_[0]";}
system "./foo", get_arg(1), get_arg(2);
print `./foo abc def`;
Вызвал что-то вроде этого
perl --shell-trace-on ./myscript.pl
Который в этом случае выдаст
./foo argument1 argument2
./foo abc def
Допустимо отбрасывать нормальный вывод myscript.pl или смешивать его с этим следом.
Большое спасибо.