Mark Goland wrote: > > I have a tring which contains 60 to 80 keywords, I need to know what position a > keyword is in. I need an efficint way to extra position of key words, here is > how I am currently finding positions, > > $string="type,model,color,date"; > > # this is how I am currently getting position, which is nto very efficiant > @keys=split ",",$string; > foreach( @keys ){ > $position++; > last if m/model/ig; > }
Hi Mark. If you build a hash where the keywords are the keys and their positions are the values then you can just do a simple hash lookup: use strict; use warnings; my $string = "type,model,color,date"; my @keys = split /,/, $string; my %position; @[EMAIL PROTECTED] = 1 .. @keys; print $position{'model'}; It's important that your hash is static though, it's going to be a lot slower to rebuild it each time you need it. HTH, Rob -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>