从文件中读取
my $filename = '/path/to/file';
open my $fh, '<', $filename or die "Failed to open file: $filename";
# You can then either read the file one line at a time...
while(chomp(my $line = <$fh>)) {
print $line . "\n";
}
# ...or read whole file into an array in one go
chomp(my @fileArray = <$fh>);
如果你知道输入文件是 UTF-8,则可以指定编码:
open my $fh, '<:encoding(utf8)', $filename or die "Failed to open file: $filename";
从文件读完后,应该关闭文件句柄:
close $fh or warn "close failed: $!";
另请参阅: 将文件读入变量
读取文件的另一种更快的方法是使用 File::Slurper Module。如果你使用许多文件,这将非常有用。
use File::Slurper;
my $file = read_text("path/to/file"); # utf8 without CRLF transforms by default
print $file; #Contains the file body
另请参阅: [使用 slurp 读取文件]