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

Re^2: Ignore a range of numbers in a List -- oneliner

by afoken (Chancellor)
on Jun 27, 2017 at 05:01 UTC ( [id://1193654]=note: print w/replies, xml ) Need Help??


in reply to Re: Ignore a range of numbers in a List -- oneliner
in thread Ignore a range of numbers ina List

perl -e "$h{6}=$h{7}=1;for (@ARGV){print qq($_ ) unless exists $h{$_}}" 1 6 2 2 7 1 6 99 99 7

In this case, exists is not needed, because all numbers in the blacklist have values that evaluate to true:

>perl -e "$h{6}=$h{7}=1;for (@ARGV){print qq($_ ) unless $h{$_}}" 1 6 +2 2 7 1 6 99 99 7 1 2 2 1 99 99 >

And for the same reason, we can shorten that a little bit more by using OR instead of postfix unless:

>perl -e "$h{6}=$h{7}=1;for(@ARGV){$h{$_}||print qq($_ )}" 1 6 2 2 7 1 + 6 99 99 7 1 2 2 1 99 99 >

Switching to postfix for gets rid of a few more characters:

>perl -e "$h{6}=$h{7}=1;$h{$_}||print qq($_ )for@ARGV" 1 6 2 2 7 1 6 9 +9 99 7 1 2 2 1 99 99 >

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (3)
As of 2025-07-09 11:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.