This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlfunc: clarify reset EXPR behaviour
authorDagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Thu, 22 Nov 2018 12:14:38 +0000 (12:14 +0000)
committerDagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Fri, 23 Nov 2018 11:16:47 +0000 (11:16 +0000)
Mention that it only affects variables in the current package, and
that it affects scalars, arrays and hashes ("variables and arrays"
is just confus(ed|ing)).

pod/perlfunc.pod

index 016b98f..664e2a3 100644 (file)
@@ -6652,7 +6652,8 @@ Generally used in a L<C<continue>|/continue BLOCK> block at the end of a
 loop to clear variables and reset C<m?pattern?> searches so that they
 work again.  The
 expression is interpreted as a list of single characters (hyphens
-allowed for ranges).  All variables and arrays beginning with one of
+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 (C<m?pattern?>) are reset to match again.
 Only resets variables or searches in the current package.  Always returns
@@ -6665,6 +6666,7 @@ Only resets variables or searches in the current package.  Always returns
 Resetting C<"A-Z"> is not recommended because you'll wipe out your
 L<C<@ARGV>|perlvar/@ARGV> and L<C<@INC>|perlvar/@INC> arrays and your
 L<C<%ENV>|perlvar/%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 L<C<my>|/my VARLIST>.