in reply to How a script becomes a module
Nice writeup, but something looks off to me. in th section "Oops, I did it again" you have the line...
print "High score is " . Local::Scores->high_score( $scores ) . "\n";
...but the variable $scores doesn't exist (at least not in that version ... i think you ment to change that so it takes in @players).