【发布时间】:2016-04-11 11:59:30
【问题描述】:
在搜索东西时,我遇到了这个答案here。
我想知道为什么变量$first_line 只包含输入文件的第一行。
代码:
#!/usr/bin/env perl
use strict;
my $filename = shift;
open my $in_fh, '<', $filename
or die "Cannot open $filename for reading: $!";
my $first_line = <$in_fh>;
open my $out_fh, '>', "$filename.tmp"
or die "Cannot open $filename.tmp for writing: $!";
$first_line =~ s/some translation/goes here/;
print {$out_fh} $first_line;
print {$out_fh} $_ while <$in_fh>; # sysread/syswrite is probably better
close $in_fh;
close $out_fh;
# overwrite original with modified copy
rename "$filename.tmp", $filename
or warn "Failed to move $filename.tmp to $filename: $!";
据我了解,$in_fh的全部内容都存储在$first_line中。
【问题讨论】:
标签: perl