Perlテックラボ

ファイルのコピー

Perlにはmkdir()やrmdir()、unlink()といったディレクトリの作成や削除関連の関数は用意されているのですが、ファイルコピーに関する関数は用意されていません。そのため、system()を使ってシステムのコマンドを呼び出すか、モジュールを使う必要があります。

system()からシステムのcpコマンドを呼び出した場合
system("cp ./a.csv ./b.csv");

モジュールを使う場合は、デフォルトでインストールされているFile::Copyが便利です。File::Copyにはcopy()、move()、syscopy()、rmscopy()が用意されています。

File::Copyモジュールを使った場合
use File::Copy;
copy("./a.csv","./b.csv") or die "error: $!";

copy()の実行でエラーが発生すると、$! にエラー内容が格納されます。

任意のディレクトリにコピーしたい際は、第2引数にディレクトリを指定します。

use File::Copy;
copy("./a.csv","/var/www/html/bk");
参考

関連記事