perlでファイルをこぴーするには?

[上に] [前に] [次に]
トット 1999/09/21(火) 23:33:46
perlでファイルコピーする方法を教えてください。
あと、perlでディレクトリの存在チェックをする方法はないですか?

B-Cus 1999/09/21(火) 23:39:49
perlの本を持ってる?
http://www.tohoho-web.com/wwwperl1.htm を読んだ?
 ファイル検査
 ファイル読み込み
 ファイル書き込み
あたり。
# 「コピー」=「読んで書き込む」

J.Naka 1999/09/22(水) 00:11:13
トットさん、ハロー。

 え〜、本当の初心者というのは、いわゆる参考書&マニュアルは何が書いてあるか分からない。自分が現在欲している情報が目の前のページに書いてあっても、その表記が読解できない。用語と文のフォーマットが分からない&馴染んでないから、ピンと来ないのです。
 自分はアマチュアの忘れた頃にコードとニラメッコな人なので、煩雑に超初心者にバックしてしまいます。(笑)。。。本当は悲しいのだ(TT)

 さて、トットさんも、今はそんな初心者だけど、一旦とっかかり掴んだら自らからバリバリとマニュアル読解していく人と、勝手に思い込み。レスします。(^^;(初心者のレスなので期待しないように(笑))

-----------------
■ファイルコピー
 B-Cusさんの解説のとおりで、具体的コードは、
<pre>
◇ソースの読み込み
open(IN,"Src.txt"); #コピー元ファイル Src.txt をオープン
while(<IN>){    # 一行毎の読み込みループで変数$Bufに読み込む
 $Buf .= $_;}
close(IN);     #ハンドル IN が不要になったので閉じる

◇デソースに書き出す
open(OUT,"> Dst.txt"); #コピー先ファイル Dst.txt をオープン
print OUT,$Buf;     #ソースの内容($Buf)を書き出す
close(OUT);       #ハンドル OUT が不要になったのでクロス

■ディレクトリ存在チェック
 以下は、Test というディレクトリがあれば、"あった!"と表示。
if(-d "Test")
{print "あった!\n";
</pre>

http://www.tohoho-web.com/wwwperl1.htm の、ファイル検査を参照。

J.Naka 1999/09/22(水) 00:22:16
あっ、上のコードとその説明に分からない所あれば、遠慮せず聞いてください。

B-Cus 1999/09/22(水) 01:46:06
> print OUT,$Buf;
print OUT $Buf; ね。

J.Naka 1999/09/22(水) 05:56:10
おっととと、”,”は、あると駄目です。(^^;

ふじ 1999/09/22(水) 07:23:38
open の後に binmode を入れておいたほうが良いかと。

>open(IN,"Src.txt");
binmode IN;

>open(OUT,"> Dst.txt");
binmode OUT;

ちなみに Perl5 なら、

use File::Copy;
copy("file1", "file2");

でも出来ます。
#ばかでかいファイルも、一度にメモリに読み込んだりしないで
#処理してくれるようです。

[上に] [前に] [次に]