Does it work if you specify the absolute path to the shell (e.g. via COMSPEC)? I.e.
system "$ENV{COMSPEC} /C $command $arg1 $arg2 $arg3 > $outfile";
Update: Presumably, the directory in which cmd.exe resides (typically C:\WINDOWS\system32) isn't on your PATH.
In case of doubt, you might want to print out those variables' content:
set path set comspec
(COMSPEC is not guaranteed to hold the correct path to your command shell — after all, it's just an environment variable. By default, it should, however. At least, it's worth a try. (Perl doesn't use COMSPEC for this very reason of being unreliable.) In case it doesn't hold the correct path, you could also try directly specifying system = "c:\\windows\\system32\\cmd.exe /c ...", after having verified that it in fact exists...)
Update2: Then again, it might also be some variation of this weird issue... (not sure though).
In reply to Re: System call doesn't recognise '>'
by almut
in thread System call doesn't recognise '>'
by Lauras
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |