ファイルを移動する ファイル名を変更する
ファイルを移動するにはFile::Copyモジュールのmove関数を使用します。成功すれば真が、失敗すれば偽が返ります。またmove関数が失敗すれば、$! に、エラーの内容が、格納されます。
use File::Copy 'move'; move($file_from, $file_to);
ファイルをディレクトリに移動することもできます。
use File::Copy 'move'; move $file_from, $dir;
サンプル
ファイルを移動するサンプルです。
use strict; use warnings; use Fcntl; use File::Copy 'move'; # ファイルを移動する( ファイル名を変更する ) my $file = "sample_20080522_$$.txt"; my $dir = "dir_20080522_$$"; # 準備 ファイルとディレクトリの作成 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 $move_name = "$file.move"; if (move $file, $move_name) { print "$file は、 $move_name に移動しました。\n\n"; } else { warn "$file を $move_name に移動できません。$!"; } print "2;ファイルを指定したディレクトリに移動する。\n"; if (move $move_name, $dir) { print "$move_name は、 $dir に移動しました。\n\n"; } else { warn "$move_name を $dir に移動できません。: $!"; }