• ベストアンサー

perlでランダムな文字列を作りたい

perlでランダムな文字列を作成する簡単な方法はありませんか? 文字数と文字種を指定できるとありがたいのですが。 $foo = hoge(8,'a-zA-Z0-9'); みたいな感じでできるといいのですが。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • SE-1
  • ベストアンサー率57% (26/45)
回答No.1

# もっと簡単に出来るかもしれませんがご参考まで。 # 不正な引数に対するエラー処理してません。 use strict; my $foo = hoge(8,'a-zA-Z0-9'); print $foo; sub hoge{ my $str_len = shift; my $char_type = shift; my @chars; push @chars, ('a'..'z') if $char_type =~ /a-z/; push @chars, ('A'..'Z') if $char_type =~ /A-Z/; push @chars, (0..9) if $char_type =~ /0-9/; my $rand_str = ''; $rand_str .= $chars[int(rand($#chars+1))] for (1..$str_len); return $rand_str; }

moriyamajoe
質問者

お礼

ありがとうございます!まさに希望のものです。 本当にありがとうございました。

関連するQ&A

専門家に質問してみよう