Everytime I post here I'm absolutely astounded by the depth of the feedback - many thanks again to everyone who replied - ya'll got some good karma headed your way.
I was looking to build a recursive subroutine that given a $gss and $hint of arbitrary length, and given a @set of valid characters, could generate a @list of all possibilities (without overflowing the call stack) but I think now that I'm probably overthinking the problem (or at least being overly ambitious given my time limitations) - since I know the max length of the password (6 chars) I should probably just hack it using one of the methods described in the replies above...