Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: subtract one array from another

by demerphq (Chancellor)
on Oct 17, 2002 at 12:25 UTC ( #205999=note: print w/ replies, xml ) Need Help??


in reply to subtract one array from another

This is a FAQ. Please research using perldoc -q and use super search before asking a question...

my %hash; $hash{$_}=1 foreach @array_1; @array_2=grep($hash{$_},@array_2);
When you do read the FAQ's you will find a number of variants of the above along with suggestions about how to do this with various constraints.

Also, perl is not restricted to C's overworked and confusing for() syntax. Your for loops above would be much simpler (and would involve less typing, and be less susceptable to fence pst errors) if done as follows

#for (my $search =0; $search<scalar @array1; $search++) # blech, this +isnt C you know for my $search (0.. $#array1) # ahhh thats m +uch better
HTH

Sorry to repeat other peoples responses, I failed to press "submit" and then went on to other things.... :-)

--- demerphq
my friends call me, usually because I'm late....


Comment on Re: subtract one array from another
Select or Download Code
Re: Re: subtract one array from another
by antifun (Sexton) on Oct 17, 2002 at 13:49 UTC
    The $#array syntax is vaguely deprecated, IIRC...
    for my $search (0..scalar @array1)
    But since the .. operator takes scalar context, you can just say
    for my $search (0..@array1)

    (Update: the "vague deprecation" was from one of the Apocalypses. So it's safe for the indefinite future, I suppose. cf. Apocalypse 2)


    ---
    "I hate it when I think myself into a corner."
    Matt Mitchell
      Don't you need a -1 there someplace?
      perl -le ' @a = qw/a b c d/; print scalar @a; print $#a; __DATA__ output: 4 3 '

      -- Dan

      Yes I seem to remember hearing that... But then Juerd corrected me. I do not believe that it will in fact be going away.

      And of course as the someone else mentioned that should be @array1-1

      :-)

      --- demerphq
      my friends call me, usually because I'm late....

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (13)
As of 2014-09-30 12:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (367 votes), past polls