Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: Re: Re: Re: Why do we say the =~ operator "binds"?

by emazep (Priest)
on Apr 19, 2004 at 05:55 UTC ( #346198=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Re: Why do we say the =~ operator "binds"?
in thread Why do we say the =~ operator "binds"?

Well, I not only wouldn't use explicit loop variables when I can resort to the singular pronoun (or even better, when I can omit it) but I would also try to avoid unnecessary assignments ;-)
foreach (@email_addresses) { if ( /[a-zA-Z0-0.]+\@[a-zA-Z0-0.]+/ ) { .... } }
This is IMHO more legible, as long as your public is fluent in Perl, or just knows the basics.
The only context where I would use your code is a Perl class, but just to show immediately after how to shorten that code and make it more legible (confess, you are a teacher! ;-)


Replies are listed 'Best First'.
Re: Re: Re: Re: Re: Why do we say the =~ operator "binds"?
by William G. Davis (Friar) on Apr 20, 2004 at 04:48 UTC

    Emazep, it was just an example; Diotalevi and I were talking about a situation in which the assignment is practical for some reason (like if you're calling m//g in scalar context), not one where you can get away with sticking m// in a conditional by itself. (Who on earth would store away the result unless they needed for something later on, anyway?)

    My point was that if you have an assignment like "$var = /pattern/", then name the variables and use the binding operator explicitly so it's completely unambiguous: "$pos = $string =~ /pattern/g".

    In real life I would have written that validity checking code like this:

    foreach my $address (@email_addresses) { return unless ($address =~ /[a-zA-Z0-0.]+\@[a-zA-Z0-0.]+/); # proceed normally...
      I apologize for my (pointless) excess of pedantry.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://346198]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2019-07-22 22:22 GMT
Find Nodes?
    Voting Booth?
    If you were the first to set foot on the Moon, what would be your epigram?

    Results (21 votes). Check out past polls.