2
Я пытаюсь использовать seek
для «перемотать» на начало файла, используя следующий код:Почему не следует искать работу при чтении с/dev/stdin?
#! /usr/bin/perl
use strict;
use warnings;
my $infile = $ARGV[0];
open (FH, "<$infile");
while(<FH>) {
chomp;
print $_,"\n";
}
print "one time","\n";
seek FH, 0, 0;
while(<FH>) {
chomp;
print $_,"\n";
}
Мой входной файл выглядит следующим образом:
A A A A A A A
B B B B B B B
Я бегу свою программу с следующая команда:
cat file | perl script.pl /dev/stdin
Но вместо того, чтобы мой ожидаемый результат:
A A A A A A A
B B B B B B B
one time
A A A A A A A
B B B B B B B
я получаю:
A A A A A A A
B B B B B B B
one time
Почему?
@toolic Я сделал, но так же, как и предыдущий; ( – EpiMan
в соответствии с http://stackoverflow.com/questions/12043592/perl-re-reading-from-already-read-filehandle – EpiMan
Я комментирую как локальные :: lib и использовать Fcntl; out, но странно, что я не могу получить ожидаемый результат !!! – EpiMan