Thanks - Shaji, Uri and Shawn for your valuable inputs. Apprecaite it. Cheers !
On Fri, Dec 13, 2013 at 3:33 PM, Uri Guttman <u...@stemsystems.com> wrote: > On 12/13/2013 10:21 AM, Shaji Kalidasan wrote: > >> Greetings, >> >> Thanks a bunch Uri and Shawn for providing valuable inputs. >> >> Here is the optimized code after corrections (based on inputs from Uri >> and Shawn) >> >> [code] >> use strict; >> use warnings; >> >> my %complex_hash; >> >> my @ex = qw / 5326 2041 1391 1439 x1259 /; >> >> open my $fh, "<", "fullhost.txt" or die $!; >> >> while (<$fh>) { >> chomp; >> my ($key, $value) = split /\s+/; #split on whitespace from $_ >> > > you are still using $_ there. it is best to use a lexical scalar variable > when possible. it has a name which is good for the reader and it can't be > modified elsewhere (as $_ can be). > > > $complex_hash{$key} = $value; >> } >> >> for my $element (@ex) { >> foreach my $key (keys %complex_hash) { >> if($key =~ /$element/) { >> > > just to make sure, are you checking if the key contains $element or do you > want an exact match? > > > print " $element : \t\t\t ", $complex_hash{$key}, "\n"; >> last;#no more iterations, element found so break from the >> foreach loop >> } >> } >> } >> > > speaking of names, complex_hash is a very poor one. it isn't complex at > all as it is a simple one level hash. it says nothing about the content of > the hash nor how it is used. picking good names is a major coding skill you > (and all beginners) need to do well. it is one of the most important > aspects of good coding and it is not emphasized enough. > > > uri > > > -- > Uri Guttman - The Perl Hunter > The Best Perl Jobs, The Best Perl Hackers > http://PerlHunter.com > > -- > To unsubscribe, e-mail: beginners-unsubscr...@perl.org > For additional commands, e-mail: beginners-h...@perl.org > http://learn.perl.org/ > > >