Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re: Test if multiple variables are defined

by AnomalousMonk (Abbot)
on Jun 25, 2013 at 17:50 UTC ( #1040636=note: print w/ replies, xml ) Need Help??


in reply to Test if multiple variables are defined

One More Way to Do It: grep:

>perl -wMstrict -le "my ($foo, $bar); my ($no_ws, $some_ws, $lotsa_ws) = ('no_ws', ' some_ws ', ' lotsa ws '); printf qq{'$_' } for $no_ws, $some_ws, $lotsa_ws; print ''; ;; s{ \A \s+ | \s+ \z }''xmsg for grep defined, $no_ws, $foo, $some_ws, $bar, $lotsa_ws; printf qq{'$_' } for $no_ws, $some_ws, $lotsa_ws; " 'no_ws' ' some_ws ' ' lotsa ws ' 'no_ws' 'some_ws' 'lotsa ws'

Update: However,  grep as used above has the disadvantage of creating an output list that may be the same size as the input list; Perl then has twice as much data to deal with.

The advantage of a looping statement like
    defined and s/^\s+|\s+$//g for LIST;
is that the elements of  LIST are operated on in place and no new list is created.


Comment on Re: Test if multiple variables are defined
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (16)
As of 2015-07-02 17:04 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (44 votes), past polls