in reply to hash keys and regex
Not sure if this makes things easier for you or not, but you could make use of Quantum::Superpositions:
#! /usr/bin/perl -w use strict; use Quantum::Superpositions; my @filter = ( any( qw/ aa ab / ), any( qw/ bb bc bd / ), any( qw/ cc cd / ), any( qw/ dd de df / ) ); my @tests = ( 'aa_bb123_cd_de', 'bc_bb_bd_be32', 'ab3_bc_cc45_df', 'aa12_aa34_aa56_aa78' ); for my $testcase ( @tests ) { if ( $testcase =~ /(\w{2})\d*_(\w{2})\d*_(\w{2})\d*_(\w{2})\d*/ ) { # Meets the form; does it pass the filter? if ( $1 eq $filter[0] && $2 eq $filter[1] && $3 eq $filter[2] && $4 eq $filter[3] ) { print "PASS: $testcase$/"; } else { print "FAIL: $testcase$/"; } } else { print "FAIL: $testcase: Incorrect format$/"; } } __END__
_______________
DamnDirtyApe
Those who know that they are profound strive for clarity. Those who would like to seem profound to the crowd strive for obscurity. --Friedrich Nietzsche
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: hash keys and regex
by state-o-dis-array (Hermit) on Dec 23, 2004 at 19:06 UTC |
In Section
Seekers of Perl Wisdom