我在使用Perl迭代文件时更改默认文件分隔符时遇到一些问题。
我有一个以前打开过的文件。我将其文件句柄存储在变量中。但我需要使用自定义分隔符迭代文件。
以下不起作用。
sub iterate_custom {
local $/ = "*****";
my $fl_hdl = $prev_flhndl;
while (my $data = <$fl_hdl>) {
print $data;
}
}
请说出我的代码有什么问题。 THX
答案 0 :(得分:0)
没有错。它运作得很好。
$ echo -n 'a*****b*****c*****' | perl -e'
my $prev_flhndl;
sub iterate_custom {
local $/ = "*****";
my $fl_hdl = $prev_flhndl;
while (my $data = <$fl_hdl>) {
print "<$data>\n";
}
}
$prev_flhndl = \*STDIN;
iterate_custom();
'
<a*****>
<b*****>
<c*****>