Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: string comparison

by ihb (Deacon)
on May 27, 2005 at 10:52 UTC ( [id://461019] : note . print w/replies, xml ) Need Help??


in reply to string comparison

There's no restraints on these techniques. The words needn't be unique in the string nor do they have to be of equal length.

Solution 1: Cancel out common elements.

use List::Util qw/ first /; my %count; $count{$_}++ for split /,/, $str1; $count{$_}-- for split /,/, $str2; my $different = defined first { $_ } values %count;
The last line says that they're different if there is any value that is non-zero, i.e. any element not cancelled out.

Solution 2: Use &Test::More::eq_array

require Test::More; my $equal = Test::More::eq_array( [ split ',', $str1 ], [ split ',', $str2 ], );

ihb

See perltoc if you don't know which perldoc to read!