私は非常に奇妙なエラーが発生しています。Linuxコマンド(cp、rm)はperlスクリプトでは実行されません。いくつかの作品。しかし、エラーは返されません。
私はlinuxコマンドを実行するperlスクリプトを実行します。彼らはこのように実行されます。
my $err = `cp -r $HTML /tssobe/www/tstweb/$subpath/$HTMLDIR1`;
myLog("$err");
と$ errが返され、エラーではありませんでしたコマンドを意味している、空です。 (右?)
私はexec ""またはsystem()でlinuxコマンドを実行しようとしましたが、成功しませんでした。 パスを変更しようとしました。同じ。
また、私は新しいperlスクリプトでcpコマンドだけを実行しようとしました。できます。 私の完全なperlスクリプトではありません。
このperlスクリプトでは、コマンドの一部が動作しているものもあれば、動作していないものもあります。
スクリプトは昨日働いていた、今朝はもういない。その間に変更はありませんでした。
私は多くのことを試しましたが、誰かがアイデアを持っていればうれしいでしょう。
EDIT: サーバーには多くのプロセスが終了していませんでした。それらを清掃して問題を解決しました。 問題は別のアプリケーションに関連していますが、私はあなたのコメントのおかげでログを改善します。
エラー報告がありません。スクリプトの先頭近くに 'use autodie qw(:all);'を追加すると、何か問題が発生したときに便利なエラーメッセージが表示され、中止されます。 – daxim
'$ HTML'や' $ subpath'や '$ HTMLDIR1'変数の入力には十分に注意してください - もしそれらのどれかが[shell metacharacters](http://cwe.mitre.org/data /definitions/78.html)、あなたは安全でないツールを作成しました。シェルの使用を避けるために、['File :: Copy :: Recursive'](http://search.cpan.org/~dmuey/File-Copy-Recursive-0.38/Recursive.pm)または同様のツールを使用する方が良いでしょう完全に。 – sarnold