元のファイルA.txtがあります。A_Copy.txtに書き込みます。同じプログラムでA_Copy.txtを閉じる前と閉じた後に読み取ることができるかどうかを知りたいですか? 同じプログラムで使用 してA_Copy.txtを変更したい。Tie::File
A -> A_Copy.txt
閉じる前に A_Copy.txt を読んでください
閉じてから A_Copy.txt を読む
A_Copy.txt を変更する
元のファイルA.txtがあります。A_Copy.txtに書き込みます。同じプログラムでA_Copy.txtを閉じる前と閉じた後に読み取ることができるかどうかを知りたいですか? 同じプログラムで使用 してA_Copy.txtを変更したい。Tie::File
A -> A_Copy.txt
閉じる前に A_Copy.txt を読んでください
閉じてから A_Copy.txt を読む
A_Copy.txt を変更する
古いファイルが読み取り可能で、新しいファイルが書き込み可能で読み取り可能であることを確認するには、コピーを使用するだけで十分です。コピーは非常にうまく機能します。ファイルが読み取り可能かどうかを確認するには、システム stat 呼び出しを使用する -r を使用するのが最善の方法です。
#!/usr/bin/perl
use File::Copy;
use Tie::File;
my $i = "A.txt"; # input file
my $o = "A_Copy.txt"; # output file
my @a; # array to use with tie
copy($i, $o) or die;
# check that the new file is readable, actually unneeded since copy
# would fail on any error
die unless (-r $o);
# fill an array with the lines of the new file
tie @a, "Tie::File", $o or die;
# change the first line of the new file
$a[0] = "Hi";