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!
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.