use autodie; while (<>) { last if /^__END__/; next if /^\s*#/; ...; }