in reply to Re: matching the contents of two (2) files
in thread matching the contents of two (2) files

If you're going to abbreviate, abbreviate :-)
my %hash; @hash{<LAST>} = (); # Death to the undef trick! exists $hash{$_} or print while <FIRST>;

Caution: Contents may have been coded under pressure.

Replies are listed 'Best First'.
Re^3: matching the contents of two (2) files
by dragonchild (Archbishop) on Mar 11, 2005 at 02:15 UTC
    Let's see ... that's about 70 characters.
    #234567890#234567890#234567890#234567890 -p BEGIN{@x{+pop}=()}exists$x{$_}||next
    That's 39 characters. You have to run it as so from the command line.
    perl -p -e 'BEGIN{@x{+pop}=()}exists$x{$_}||next' FIRST.txt LAST.txt > + MISSING.txt

    This is really untested code, but it _should_ work. :-)

    Being right, does not endow the right to be rude; politeness costs nothing.
    Being unknowing, is not the same as being stupid.
    Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
    Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.