in reply to Golfing password creation
Slightly less efficient and includes _ as a valid character, but shorter:
($a.=chr rand 128)=~s/[^\w\d]//while length$a<8;say$a [download]
or without the _:
($a.=chr rand 128)=~s/[^0-9a-zA-Z]//while length$a<8;say$a [download]