ファイルをコピーする
ファイルをコピーするにはFile::Copyモジュールのcopy関数を使用します。成功すれば真が、失敗すれば偽が返ります。またcopy関数が失敗すれば、$!にエラーの内容が、格納されます。
use File::Copy 'copy'; copy $file, $copy_name;
ファイルをディレクトリの中にコピーすることもできます。
use File::Copy 'copy'; copy $file, $dir;
サンプル
ファイルをコピーするサンプルです。
use strict; use warnings; use Fcntl; use File::Copy 'copy'; # ファイルをコピーする。 my $file = "sample_20080521_$$.txt"; my $dir = "dir_20080521_$$"; # 準備 ファイルとディレクトリの作成 sysopen( my $fh, $file, O_WRONLY | O_CREAT | O_EXCL ) or die "$file を作成することができません。: $!"; close $fh; print "準備: '$file'が作成されました。\n"; mkdir $dir or die "$dir を作成することができません。 : $!"; print "準備: '$dir'が作成されました。\n\n"; print "1. ファイルをコピーする。\n"; my $copy_name = "$file.copy"; if (copy $file, $copy_name) { print "$file は、 $copy_name にコピーされました。\n\n"; } else { warn "$file を $copy_name にコピーできません。$!"; } print "2. ファイルをディレクトリにコピーする。\n"; if (copy $file, $dir) { print "$file は、 $dir にコピーされました。\n\n"; } else { warn "$file を $dir にコピーできません。: $!"; }