It's cute... Since the "secret" is concatenated with what the user entered, this will match if you get the same number separated by 4 characters (that's 3 digits and the \n in some combination).

It replaces that with a ? for the first position, and a * for the 2nd, with $2 (the 4 characters in between) in the middle. Then, the substitution is repeated as long as it succeeds, so if you have all 4 characters right, you get 4 *'s.

The 2nd substitution puts in +'s for any numbers that appear in both lines after the first substitutionwas done, which will get only numbers in the wrong place since all the ones in the right spots are already replaced with '*'.

The last print will print out any * or + in the string, telling you how many you have right or nearly right.

Very nice script... I like the cool uses of s/// and the print of the matches.
--
Mike


In reply to Re: Re: Mastermind in 2 lines by RMGir
in thread Mastermind in 2 lines by jsrn

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.