Help language development. Donate to The Perl Foundation

P5reset cpan:ELIZABETH last updated on 2019-11-10

P5reset-0.0.4/

NAME

P5reset - Implement Perl's reset() built-in

SYNOPSIS

use P5reset;

reset("a");   # reset all "our" variables starting with "a"

reset("a-z"); # reset all "our" variables starting with lowercase letter

reset;        # does not reset any variables

DESCRIPTION

This module tries to mimic the behaviour of the reset function of Perl as closely as possible.

ORIGINAL PERL DOCUMENTATION

reset EXPR
reset   Generally used in a "continue" block at the end of a loop to clear
        variables and reset "??" 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 those letters are reset to their pristine state. If the
        expression is omitted, one-match searches ("?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 ?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".

PORTING CAVEATS

Since Raku doesn't have the concept of ?one time searches?, the no-argument form of reset will not reset any variables at all.

AUTHOR

Elizabeth Mattijsen [email protected]

Source can be located at: https://github.com/lizmat/P5reset . Comments and Pull Requests are welcome.

COPYRIGHT AND LICENSE

Copyright 2018-2019 Elizabeth Mattijsen

Re-imagined from Perl as part of the CPAN Butterfly Plan.

This library is free software; you can redistribute it and/or modify it under the Artistic License 2.0.