12桁のランダム文字列(forパスワード等)を吐くスクリプト

めもー!

use strict;
my @letter = ();
push @letter, ( 'a'..'z' );
push @letter, ( 'A'..'Z' );
push @letter, ( '0'..'9' );
my $length = scalar @letter;
my $result = '';
foreach ( 1..12 ) {
	$result .= $letter[int(rand()*$length)];
}
print $result;

2010-09-06追記

randを使うと、問題がありそうだから、重要な場所では使うべきではないです。
つまり、「Perlで」「rand()を」使っていると、再現される可能性が出てくるからです。
rand()の部分は、他のものを使うといいですよ、と。
404 Blog Not Found:perl - Math - Mersenne Twister を Pure Perlでとか。