ファイルをコピーする
ファイルをコピーするには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 にコピーできません。: $!";
}
Perlゼミ

