在我的Perl程序中,一个非常常见的代码块是打开一个文件并读取或写入它。我看到过很多种做法,而我在执行此任务时的风格也在这几年中多次改变。我只是想知道最好(如果有最好的方法)的方法是什么?
我曾经像这样打开一个文件:
my $input_file = "/path/to/my/file";
open INPUT_FILE, "<$input_file" || die "Can't open $input_file: $!\n";
但是我认为这会出现错误捕获的问题。
添加括号似乎可以解决错误捕获:
open (INPUT_FILE, "<$input_file") || die "Can't open $input_file: $!\n";
我知道你也可以将文件句柄分配给一个变量,所以不必像上面那样使用“INPUT_FILE”,而是可以使用$input_filehandle - 这种方式更好吗?
如果要读取一个小文件,使用globbing有什么问题吗?像这样:
my @array = <INPUT_FILE>;
或者
my $file_contents = join( "\n", <INPUT_FILE> );
或者你应该总是像这样循环遍历:
,还是应该使用其他方法?
my @array;
while (<INPUT_FILE>) {
push(@array, $_);
}
我知道在Perl中有很多方法来完成任务,我只是想知道打开和读取文件的首选/标准方法是否存在?