Generally used in a continue
block at the end of a loop to clear variables and reset m?pattern?
searches so that they work again. The expression is interpreted as a list of single characters (hyphens allowed for ranges). All variables (scalars, arrays, and hashes) in the current package beginning with one of those letters are reset to their pristine state. If the expression is omitted, one-match searches (m?pattern?
) are reset to match again. Only resets variables or searches in the current package. Always returns 1. Examples:
reset 'X'; # reset all X variables
reset 'a-z'; # reset lower case variables
reset; # just reset m?one-time? searches
Resetting "A-Z"
is not recommended because you'll wipe out your @ARGV
and @INC
arrays and your %ENV
hash.
Resets only package variables; lexical variables are unaffected, but they clean themselves up on scope exit anyway, so you'll probably want to use them instead. See my
.