在Perl程序中编写和读取文件

时间:2012-10-08 04:53:47

标签: perl file-handling

我有一个原始文件 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

1 个答案:

答案 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";