Memoize |
BasicWerk
EC Support
Technique
Facebook
|
20141128205323_Perl_first_match_in_list |
Perl_first_match_in_list
#! /usr/bin/perl use warnings; use strict; use List::Util qw(first); # qr// でプリコンパイルした正規表現リファレンスをハッシュに格納 my %patterns = ( aaa => qr/aaa/i, bbb => qr/bbb/i, ccc => qr/ccc/i, ); my $target = "Aaa"; # grep ではなく first を使うことによって、最初にマッチした時点以降の反復処理をスキップ my ($match) = first { $target =~ $patterns{$_} } keys %patterns; print "Target: $target, Matched regex: $match\n" if $match; # -> Target: Aaa, Matched regex: aaa
|
© Shin Nakamura/BasicWerk 2014 |