У меня есть сценарий 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 или смешать его с этой трассировкой.
Большое спасибо.