Hi, Question: Can I have perl automatically buffer/store some amount of input from a gzip pipe so that I can "rewind" some small amount using tell then seek? Alternately, can I "push" a few lines back into the pipe? Hoping not to have to completely restructure my code to read zipped files. I have large < 5G input files, so I want to read only one-pass with small rewinds. I need to pre-fetch some keywords in each section to properly build a data structure. The position of the keywords can be anywhere within the section. AT this size reading the zipped version of a file is greatly preferred.
Suggestions?EX: ... open(LIBIN, "gunzip -c $read_file |") or die "\nERROR: ..."; ... while($line = <LIBIN>) { $self->{LINENUMBER}++; $file_line_location{$self->{LINENUMBER}} = tell LIBIN; ..... # Return to the start of a section after pre-parsing seek LIBIN , $file_line_location{$section_reentry_line}, 0; .... }
In reply to buffering zipped pipes by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |