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

or without the _:

($a.=chr rand 128)=~s/[^0-9a-zA-Z]//while length$a<8;say$a

True laziness is hard work