Perl で既存ファイルの名前を変更するには、rename
を使用します。
rename 'old.txt', 'new.txt'
or die "Cannot rename files: $!";
リネーム後のファイル名を持つファイルがすでに存在する場合は、そのファイルが上書きされてしまうので、以下のようにファイルの存在を先にチェックするべきです。
my $old = 'old.txt';
my $new = 'new.txt';
if (-e $new) {
warn "$new already exists.\n";
} else {
rename $old, $new or warn "Cannot rename files: $!";
}
rmname
関数は、ファイルの移動にも使用することができます。