my $tool_number = 1; # (say - perhaps you're looping through them, hence... $tool_number = sprintf(%02d,$tool_number); # add leading zero, if needed while (){ if (/^Tool$tool_number/) { $continue = 1; } if (/^Tool/ && !(/^Tool$tool_number/)) { $continue = 0; } if ($continue){ print $_; } }