Perlゼミ

  1. Perl
  2. ファイル操作
  3. here

ファイルをコピーする

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

(参考)sysopen関数Fcntl

Perlプログラミングちゃんねるのご紹介

Perlの書籍
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
    この私、Perlゼミの作者が執筆しています。
    ご購入、口コミ歓迎。
  • Perlの書籍 »
自己紹介
木本裕紀

「今日も元気だ、Perlで元気。
ゆとりあるITエンジニアライフのために
Perl情報を前向きに発信中!」

Twitter
フォロー、いいね、リツート、コメント歓迎

Youtube

チャンネル登録、いいね、コメント歓迎

kimoto.yuki@gmail.com
応援メッセージ、質問、間違い報告歓迎

木本システム株式会社
ご紹介キャンペーン実施中です。契約金額の10%をご紹介料としてお支払い。

(例)30万円のシステム開発委託契約が、1年続いたら、36万円がもらえる!!!