do BLOCK while COND; #### do BLOCK #### EXPR while COND; #### $ perl -E'last while 1;' Can't "last" outside a loop block at -e line 1. $ perl -E'do { last; };' Can't "last" outside a loop block at -e line 1. $ perl -E'do { last; } while 1;' Can't "last" outside a loop block at -e line 1. #### for (;;) { my $line = ; last if not defined $line; chomp $line; my ($chr, $pos) = split(/\t/, $line); $chr += 0; # Numify. $pos += 1; # Make 1-based last if $pos >= $kgArr[1]; print OUTFILE "$chr\t$pos\n"; } #### while (defined( my $line = )) { chomp $line; my ($chr, $pos) = split(/\t/, $line); $chr += 0; # Numify. $pos += 1; # Make 1-based last if $pos >= $kgArr[1]; print OUTFILE "$chr\t$pos\n"; }