http://www.perlmonks.org?node_id=297004


in reply to •Re: Array::Compare issues
in thread Array::Compare issues

Merlyn I have tested your sample code and I am now having an issue that I return no data. I would assume this should be returned to STDOUT but when ran like so
[root@nscache2 tmp] 115# ./compare1.pl db.bind1 db.bind2 file1 and not file2: file2 and not file1: [root@nscache2 tmp] 116#
I see nothing returned. Do you have any idea as to why this might be?? Here is my new code:
#!/usr/bin/perl -w use strict; # shift(@ARGV); my %found_in; while (<>) { # $found_in{$_} .= $ARGV; $found_in{$_}{$ARGV}++; } print "file1 and not file2:\n"; print grep { $found_in{$_} eq "file1" } keys %found_in; print "file2 and not file1:\n"; print grep { $found_in{$_} eq "file2" } keys %found_in; exit;
Thanks in advanced for any help. -Sunadmn

Replies are listed 'Best First'.
•Re: Re: •Re: Array::Compare issues
by merlyn (Sage) on Oct 06, 2003 at 17:49 UTC
    Yes, my example specifically uses $ARGV, which will be sensitive to the names of the files being processed. Either rename your files to be file1 and file2, or change the strings in the two greps.

    -- Randal L. Schwartz, Perl hacker
    Be sure to read my standard disclaimer if this is a reply.

      Thanks Merlyn that did the trick just fine. -Sunadmn