open my $fh, '<', $filename or die "Cannot open '$filename' for reading: $!\n"; tie my @arr, 'Tie::Array::Lazy', [], sub { scalar <$fh> }; first { } @arr;