すみません、ひどく程度の低いPerlの話をします。 SEO担当相として日々アクセスログの解析をやっているのですが、解析したい条件に合うログを引っ掛けて、その内容に応じた集計をする際に、 my %analyze = ( qr/Pattern 1/ => 'Pattern 1', qr/Pattern 2/ => 'Pattern 2', qr/Pattern 3/ => 'Pattern 3', .... qr/Pattern N/ => 'Pattern N', ); while (my $log = $logs->readline()) { foreach my $reg (keys %analyze) { if (($log->{ua}) && ($log->{ua} =~ /$reg/)) { my $pattern = $analyze{$reg}; # Do hoge hoge