解決済み

perlにおけるファイルコピー方法

  • 困ってます
  • 質問No.885014
  • 閲覧数9063
  • ありがとう数8
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 37% (145/387)

ファイルのコピー関数が見当たらなかったのですが、どのようにすべきでしょうか?

perlで関数が用意されているのであれば、
system("cp ...");
の様に、システム関数は余り使いたくないと思っています。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2

ベストアンサー率 75% (398/526)

標準モジュールの File::Copy に、copy と move という関数があります。

use File::Copy;
copy("from_file", "to_file");

引数にはファイルパス(ファイル名)だけでなく、ファイルハンドルも指定できます。
詳しくは参考URLをご覧ください。
お礼コメント
tk_1980024

お礼率 37% (145/387)

お礼遅くなり失礼しました。
どうも有難うございます。mkdirやrm(unilnk)などはモジュールを呼ばなくても関数が用意されているのに対してcopyだけはモジュールを呼ばなくてはならないのはちょっと不思議ですが、このモジュールがある事は覚えておきます。
投稿日時 - 2004-06-15 01:40:11
OKWAVE 20th Be MORE ありがとうをカタチに

その他の回答 (全1件)

  • 回答No.1

 関数というのは用意されてないので、いつもは俺は下記のを使ってます。
 コピペでまんま使えると思います。

sub cp {
local(@tmpfile);
if ( open(IN , "<$_[0]") == undef ) { return; }
if ( open(OUT, ">$_[1]") == undef ) { close(IN); return; }
binmode(IN);
binmode(OUT);
@tmpfile = <IN>;
print OUT @tmpfile;
close(IN);
close(OUT);
}

sub mv {
cp( $_[0], $_[1] );
unlink($_[0]);
}
お礼コメント
tk_1980024

お礼率 37% (145/387)

お礼遅れましてすみませんでした。leaz024さんが教えてくれたように関数が用意されているようなので、今回はこちらを使用しようと思います。
どうも有難うございました。
投稿日時 - 2004-06-15 01:42:59
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ