Hi Rob, Yea, I think that would work better, much appreciated ;)
>>"Hanson, Rob" wrote: > > This works for me... > > # sample data > my @tags = qw(K001900 L001234 GP001675); > my @prefixs = qw(SP 8 L K GP TP MP); > > # join them with pipes for use in the regex > my $prefix = join('|', @prefixs); > > # match prefix against each tag, seprate the parts. > # the "o" switch cause the regex to only compile once. > # the split tags go back into the @tag array. > my @tags = map {/^($prefix)(.*)$/o;{PRE=>$1,NUM=>$2}} (@tags); > > # this print out the prefix/number pairs > foreach my $tag (@tags) { > print "PREFIX: ", $tag->{PRE}, "\n"; > print "NUMBER: ", $tag->{NUM}, "\n"; > print "\n"; > } > > Something like that? > > > -----Original Message----- > From: Mike(mickako)Blezien [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, August 14, 2002 2:44 PM > To: Perl List > Subject: Better regrex method > > Hello, > > I'm working on a project where I need to split various tag numbers, from a > standard set of prefixes, entered into a form and check the number against a > database. > > A sample test code that works, but was wondering if there's a better way to > utilize the regrex of this code: > > # @tags similuate the tag numbers entered into a form, multiple numbers > my @tags = qw(K001900 L001234 GP001675); > > # @prefixs are a pre-determined set of prefixes used. > my @prefixs = qw(SP 8 L K GP TP MP); > > my($tagid,$tnum); > > print header('text/html'); > while(my $prefix = <@prefixs>) { > foreach $tagid (@tags) { > if ($tagid =~ m!^$prefix!) { > $tagid =~ s!^$prefix!!; > print qq|Prefix: $prefix - Number: $tagid<br>|; > # Results: Prefix: K - Number: 001900 > # ...etc > } > } > } > > My questions is, is there a better way to separate the prefix from the > number ?? > Any suggest would be much appreciated. > > TIA, -- Mike(mickalo)Blezien =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Thunder Rain Internet Publishing Providing Internet Solutions that work! http://www.thunder-rain.com Bus Phone: 1(985)902-8484 Cellular: 1(985)320-1191 Fax: 1(985)345-2419 =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]