Вероятно, нет, "открытие" процесса для чтения - это, как правило, вилка и труба за кулисами. И вилки-execs не работают в Windows *.
Для выполнения сценария Perl просто do
it.
do 'ex2.pl';
А если вы хотите передать аргументы:
{ local @ARGV = qw<One Two Three>;
do 'ex2.pl';
}
Когда ex2.pl
хочет получить доступ к @ARGV
, это будет ( 'One', 'Two', 'Three' )
. Конечно, если вы хотите выполнить какой-либо из трюков Perl ARGV
, лучше локализовать GLOB.
{ local *ARGV = [ qw<One Two Three> ]; ... }
* - Я долго думал, что подходящий обходной путь должен быть возможным с использованием структур процессов Windows, которые имеют читаемый stdout и stderr, а также записываемый stdin.