Мое намерение вызвать скрипт Child.pl из сценария Parent.pl
я использовал систему() функцию для вызова другого скрипт.
При использовании
system("perl Child.pl $argument");
аргумент передается.
Но при использовании
system("Child.pl $argument");
аргумент не передается.
Это из-за какой-либо ошибки в коде.
Я новичок в perl-скриптах. Простите меня, если я прошу прощения.
Я использую окна 7 и мой PERL версии v5.8.4
Мой Parent.pl сценарий
use warnings;
print "Inside Parent Script\n\n";
$var = 10;
print "Calling system without perl prefix\n";
system("Child.pl $var");
print "\nCalling system with perl prefix\n";
system("perl Child.pl $var");
print "\nEnd of Parent Script\n";
exit 0;
Мой Child.pl скрипт
use warnings;
print "\tInside Child Script\n";
print "\tArgument = $ARGV[0] \n";
print "\tEnd of Child Secipt\n";
exit 0;
Мой Выход
Inside Parent Script
Calling system without perl prefix
Inside Child Script
Use of uninitialized value in concatenation (.) or string at C:\Child.pl line 4.
Argument =
End of Child Script
Calling system with perl prefix
Inside Child Script
Argument = 10
End of Child Script
End of Parent Script
Это se ems, как на каком-то ПК, работает без префикса perl.
Я имею дело с огромным нежелательным скриптом, который не использует perl-префикс.
Есть ли способ сохранить эти сценарии без изменений и до сих пор пропустить этот аргумент.
Пожалуйста, сообщите нам, в какой системе вы работаете? – Borodin
Я работаю над Windows 7 Enterprise Edition, и моя версия perl v5.8.4 –
Хорошо, вам, вероятно, следует переустановить Perl (ActivePerl или Strawberry?), Так как ассоциация файлов isn'tr настроена правильно – Borodin