for (;;) { print("Enter Number: "); defined( my $line = ) or last; s/^\s+//, s/\s+\z// for $line; next if $line eq ''; last if $line =~ /^(?:d|done)\z/i; ... } #### while ( (print "Enter Number: "), (my $line=) !~ /^\s*d(?:one)?\s*$/i ) { next if $line =~ /^\s*$/; #re-prompt on blank lines ... chomp($line); ... }