dポイントプレゼントキャンペーン実施中!

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

A 回答 (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;
}
    • good
    • 0
この回答へのお礼

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

本当にありがとうございました。

お礼日時:2007/11/30 01:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!