if ( scalar (grep { $_ eq $item3 } @list) == scalar @list) { print "All are equal.\n"; }
But that's simply not what he asked for, and even if it were those scalars are redundant, thus making your code bloated without adding to readability, since == imposes scalar context anyway. Thus
if (grep { $_ eq $item3 } @list == @list) { print "All are equal.\n"; }
Furthermore, you store into the @list array for the sole purpose of that comparison, but that's not necessary either: indeed checking for all the elements of a list to do something is the same thing as checking none of them not to do that particular thing, hence
if (grep $_ neq $item3, $item1, $item2) { print "All are equal.\n"; }
In reply to Re^2: testing more than one item for equality
by blazar
in thread testing more than one item for equality
by jonnyfolk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |