4

ubuntuの同じボリューム内でperlを使用してディレクトリを移動しようとしています。

以下のようにPerlで移動( File::Copy )コマンドを使用しました

move($dir1, $dir2);.  # Doesn't work.

移動後、$dir1 は $dir2 の下に配置されると予想されます。しかし、「ディレクトリです」というエラーが発生しました。

しかし、システム mv を使用すると、完全に機能します。

system("mv $dir1 $dir2"); #This works!.

Google で検索したところ、move は Linux の mv とまったく同じように機能するはずであることがわかりました。何か案は?

4

2 に答える 2

13

ディレクトリをcall moveの./dir1下に移動する場合は、次のようにします。./dir2

move("./dir1", "./dir2/dir1");

私はあなたがやっていると思います:

move("./dir1", "./dir2/");

./dir2すでに存在するため、文句を言います。

于 2012-12-24T03:24:27.903 に答える
0
use File::Copy::Recursive;
rmove('foo/bar/baz', '/etc/');
于 2012-12-24T04:00:28.547 に答える