我有一个原始文件 A.txt 。
我写信给 A_Copy.txt 。
我想知道我是否可以在关闭之前和在同一个程序中关闭之后阅读 A_Copy.txt ?
我想在同一个程序中使用Tie::File
修改 A_Copy.txt 。
A - > A_Copy.txt
关闭前阅读A_Copy.txt
关闭后阅读A_Copy.txt
修改A_Copy.txt
答案 0 :(得分:2)
使用副本应该足以确保旧文件是可读的,并且新文件是可写和可读的,复制执行得非常好。 要检查文件是否可读,最好的方法是使用-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";