Ваш код выглядит немного запутанным.Вероятно, вам нужно что-то вроде
my $cmd = "notepad.exe";
my @args = ($cmd, "readme.txt");
system(@args);
if($? == -1) {
die "system @args failed: $?";
}
system
, возвращающее одно значение, а не массив.Смотрите perldoc -f system
для подробного описания.
В этой теме в perlmonks обсуждается ошибка, которую вы получаете с несколькими представленными решениями.
Этот ответ является расширением моего исходного комментария 1013 *.Извините, если это излишне.