ted.byers has asked for the wisdom of the Perl Monks concerning the following question:
It is hard to imagine how one can get this wrong, but the following is giving me grief on one machine (and only that one out of the several that I use).
print "$ARGV[0]\n\t$ARGV[1]\n\t\t$ARGV[2]\n";This is obvious and well documented, and something I have used for years without problems. However, on a new server (hosted in the cloud, if that matters), it is failing in a manneer that is a show-stopper. The buld of Activestate Perl is:
This is perl 5, version 14, subversion 1 (v5.14.1) built for MSWin32-x64-multi-threadThe problem is that with this particular machine, perl scripts invoked as:
system("2_CleanXMLfiles.pl \"$now_string\""); system("3a_MakeTDVfilesA.pl \"$now_string\" $start_date $end_date 1>Ma +keTDVfilesA.pl.stdout 2>MakeTDVfilesA.pl.stderr");
loses the arguments. The above lines of code are the last in a driver script, and intermittently, the above lines of code behave as if the following had been executed instead:
system("2_CleanXMLfiles.pl"); system("3a_MakeTDVfilesA.pl");
It doesn't matter whether I am executing these programs using back ticks or using system, the behaviour is the same, but on this new machine, it happens about 80% of the time, and never on the other machines I use. That, especially, has me baffled.
Has anyne else seen this? If so, what is the fix? If not, does anyone have any ideas on how best to fix this?
Thanks
I appreciate any help I can get
Ted
|
|---|