On Jan 2, John W. Krahn said:
>> I want to compare between two arrays.
>> $a = (join " ",@a);
>> $b = (join " ",@b);
>> if ($b eq $a) { print "equal";}
>
>Well you _can_ do this in one line. :-)
>
>$ perl -le'@a = qw(one two three four); @b = qw(one two three four);
>print "equal" if "@a" eq "@b
Amit Nisim wrote:
>
> Hi All,
Hello,
> I want to compare between two arrays.
> How can I do it ?
>
> One way I know is :
>
> $a = (join " ",@a);
> $b = (join " ",@b);
> if ($b eq $a) { print "equal";}
Well you _can_ do this in one line. :-)
$ perl -le'@a = qw(one two three four); @b = qw(o
>I want to compare between two arrays.
This is what you want?
$fail = 0;
if (@a!=@b) {
$fail = 1;
} else {
for ( $i=0; $i<@a; $i++ ) {
if ($a[$i]==$b[$i]) { next; }
else { $fail = 1; last; }
}
}
if ($fail)
{ print "not equal\n"; }
else { print "equal\n"; }
from the perl FAQ:
@array1 = (1..10);
@array2 = (5..15);
@union = @intersection = @difference = ();
%count = ();
foreach $element (@array1, @array2) {
$count{$element}++ }
foreach $element (keys %count) {
push @union, $element;
push @{ $count{$element} > 1 ? \@in