in reply to Re: Check user input - reimplementation
in thread Check user input - reimplementation

Thanks, Roy!

I'd do this in reverse order, so that you aren't substituting in a space that you're later going to remove. That's just a tiny amount of extra work.
You mean like this?
$checks{'data'} =~ s/\s+$//; $checks{'data'} =~ s/^\s+//; $checks{'data'} =~ s/\s+/ /g;
Okay so
$checks{'regex'} ||= $default;
is the same as
$checks{'regex'} = $checks{'regex'} ? $checks{'regex'} : $default;
But what does the following do?
exists($checks{'regex'}) or $checks{'regex'} = $default;

Replies are listed 'Best First'.
Re^3: Check user input - reimplementation
by Roy Johnson (Monsignor) on Dec 16, 2003 at 21:26 UTC
    You mean like this?
    Yes.

    A ||= D is, in general, the same as A = A ?  A : D without all the repetition. Each assigns to A itself if A is true, and D if it is not true.

    The exists check is the same as

    $check{'regex'} = $default unless exists($checks{'regex'})
    which is to say, it determines whether there a value has been assigned to $checks{'regex'}, and if not, it assigns the default value. Even if the value is false or undefined, exists returns true.

    The PerlMonk tr/// Advocate