Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. モジュール
  3. here

File::Copy - ファイルの移動とコピー

File::Copyモジュールを使用すると、ファイルを移動したり、コピーしたりすることができます。

# モジュールの読み込みと関数のインポート
use File::Copy qw/copy move/;

copy関数でファイルをコピー、move関数でファイルを移動することができます。rename関数というファイルを移動する標準関数がありますが、ファイルシステムを隔てた移動に対応していません。ファイルを移動する場合はFile::Copyのmoveを使用するのがよいでしょう。またmoveはディレクトリを移動するときも利用することができます。

# ファイルのコピー
copy($from, $to);

# ファイルの移動
move($from, $to)

ファイルをコピーするサンプルです。ファイルのコピーに失敗(※1)したときのためにエラー処理を行います。エラーメッセージにはOSのエラーメッセージ「$!」を含めるようにします。

# ファイルのコピー
my $from = 'xxx';
my $to   = 'yyy';

copy($from, $to)
  or die "Can't copy \"$from\" to \"$to\": $!";

ファイルを移動するサンプルです。ファイルの移動に失敗したときのためにエラー処理を行います。エラーメッセージにはOSのエラーメッセージ「$!」を含めるようにします。

# ファイルの移動
my $from = 'xxx';
my $to   = 'yyy';

move($from, $to)
  or die "Can't move \"$from\" to \"$to\": $!";

ファイルが存在しなかった場合や、送り先のディレクトリにパーミッションの書き込み権限がない場合などにファイルコピーは失敗します。

関連記事