perl プログラムからシステム コマンドを実行しようとしています。
「指定されたパスが見つかりません」と表示された場合、パスを指定しない限り問題なく動作します。
exec()、system()、またはバックティックで同じ結果が得られます。
コマンド文字列を直接引数として使用するか、一重引用符または二重引用符で囲まれた文字列に入れてその文字列を引数として渡すことで、同じ結果が得られます。
動作しないコマンドを perl スクリプトからコピーして DOS ボックスに貼り付けると、動作し、その逆も同様です。
例えば、
print `cd`;
正常に動作しますが、
print `cd \`;
と
print `cd ..`;
同じエラー メッセージが表示されます。
$cmd = 'foo.htm'; $ret=`$cmd`
ブラウザを起動しますが、
$cmd = '\foo.htm'; $ret=`$cmd`;
ではない。
問題が何であるかについて誰か提案がありますか?