ランダムな文字列を生成するString::Random
普段から良く使うんでメモ。
DBとかにユニークな値を突っ込む時とかにランダム文字列生成とかよくあること。
で、Perlでランダム文字列を生成しようと思ったらString::Randomがオススメ。
色々作り方があるんだけど一番便利なのはrandregexメソッド。
use String::Random; my $rand_str = String::Random->new->randregex('[A-Za-z0-9]{32}');
こんな感じで正規表現が指定できるので上記のように書くと32桁の英数字でランダムな文字列を生成してくれる。
ちなみにDBに突っ込む目的ならDBIx::Class::RandomStringColumnsってのがString::Randam使用して勝手に突っ込んでくれたりするので便利だったりする。