http://www.perlmonks.org?node_id=165489


in reply to Jumping out of a partially read file

while the use of $/ will get just the header, it's stuck in a scalar. this lets you do line-by-line processing inside the header. also, it uses labels and a precompiled regex, which i think is pretty nifty.

oh, and do you really want to die if you can't process a single file? i changed this to warn on open troubles, and die on close troubles. your mileage may vary.

#!/usr/bin/perl -w use strict; $|++; my $marker = qr/^__END_HEAD__$/; FILE: while( my $file = <*.las> ) { open(FH, $file) or warn "Warning: can't open $file, skipping...\n" + and next FILE; LINE: while( chomp(<FH>) ) { last LINE if /$marker/; # ... } close(FH) or die "ERROR: can't close $file, exiting...\n"; }

~Particle *accelerates*