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.
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";