while (1) { while ($out !~ m/^[sSfF]$/) { ... } if ($out =~ m/^[sS]$/) { print $output; next; } last; } exit if $out !~ m/^[fF]$/; while (1) { while ($save !~ (m/^[a-zA-Z]\w*$/)) { ... } if (-e $save) { ... } if ($overwrite =~ m/^[nN]$/) { next; } ... last; }