gpt4 book ai didi

perl - 如何两次使用__DATA__?

转载 作者:行者123 更新时间:2023-12-03 09:05:59 26 4
gpt4 key购买 nike

如何两次使用__DATA__

#!/usr/local/bin/perl
use warnings;
use 5.012;

while ( <DATA> ) {
print;
}

while ( <DATA> ) {
chomp if $. == 1;
print scalar reverse;
print "\n" if eof;
}
__DATA__
one
two
three
four
five
six

最佳答案

要两次使用DATA文件句柄,您需要倒带它。棘手的一点是,如果执行seek(DATA, 0, 0),它将被定位到第一行源代码,而不是__DATA__之后的行。因此,您需要先保存职位:

my $data_start = tell DATA; # save the position
print while (<DATA>);
seek DATA, $data_start, 0; # reposition the filehandle right past __DATA__
print while (<DATA>);

也可以看看:
  • tell
  • seek
  • 关于perl - 如何两次使用__DATA__?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4459601/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com