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


in reply to Regex to compare (if) two strings (Uniquely - I will explain inside)

Gotta validate the inputted word by checking that it indeed consists of the chars in $random_string.

Perhaps I'm misunderstanding you, but this sounds like you want to validate that the two sets of string characters are equal (the 'compare uniquely')--not that the two strings are equal. If this is the case, the following is an option:

use strict; use warnings; my $word = 'FHDJSKAL'; my $random_string = 'ALSKDJFH'; if ([sort ("\U$word" =~ /./g)] ~~ [sort ("\U$random_string" =~ /./g)]) + { print "Good word.\n"; } else { print "Try again.\n"; print "\n"; }

Hope this helps!

Update: Replaced the hash solution with one using the smart operator (~~), as the former didn't match properly.