Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Regex to compare (if) two strings (Uniquely - I will explain inside)

by kcott (Abbot)
on Nov 25, 2012 at 03:00 UTC ( #1005458=note: print w/ replies, xml ) Need Help??


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

G'day chickenlips,

Here's a solution using index and splice. (Obviously, you'll need to use your code to generate the random word - I've just allowed entering it from the command line for testing purposes.)

$ perl -Mstrict -Mwarnings -E ' print q{Random word: }; RAND: while (my $randword = <>) { chomp $randword; say "Input words using only letters in: $randword"; INPUT: while (my $inword = <>) { chomp $inword; my @randchars = split q{} => $randword; my $char_count = 0; CHAR: for my $in_char (split q{}, $inword) { ++$char_count; my $pos = index join(q{} => @randchars), $in_char; if ($pos >= 0) { splice @randchars, $pos, 1; } else { say "Failed on char: $in_char (at position $char_count +)"; next INPUT; } } say "$inword OK"; } print q{Random word: }; } print "\n"; '

Here's a sample run:

Random word: qqwe Input words using only letters in: qqwe ew ew OK ewq ewq OK ewqq ewqq OK qewq qewq OK qqewq Failed on char: q (at position 5) qqqwe Failed on char: q (at position 3) Random word: aaaabcde Input words using only letters in: aaaabcde qwe Failed on char: q (at position 1) asd Failed on char: s (at position 2) abcdef Failed on char: f (at position 6) abcde abcde OK aaaab aaaab OK aaaaab Failed on char: a (at position 5) Random word: ^D

-- Ken


Comment on Re: Regex to compare (if) two strings (Uniquely - I will explain inside)
Select or Download Code
Replies are listed 'Best First'.
Re^2: Regex to compare (if) two strings (Uniquely - I will explain inside)
by Zambozo on Nov 30, 2012 at 18:17 UTC

    Label not found for "next INPUT" Why I am getting this error when I make mistake not to put a word that can not be created from the provided letters

      Can you show what you did to get this error? I can't replicate your problem.

      Echoing ++frozenwithjoy's comments, you'll need to show under what circumstances this isn't working for you. Please provide (within <code>...</code> tags) exact input, output and any error or warning messages - details for doing this can be found in: How do I post a question effectively?

      -- Ken

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1005458]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (10)
As of 2015-07-31 19:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (280 votes), past polls