Thanks Shawn, Appreciate your help !!
On Tue, Aug 14, 2012 at 12:57 PM, Shawn H Corey <shawnhco...@gmail.com>wrote: > On Tue, 14 Aug 2012 11:50:14 +0100 > jet speed <speedj...@googlemail.com> wrote: > > > i have an @newfa with 50:00:00:08:44:9a:fb:79:90 > > 50:00:00:90:44:9a:fb:30:90 50:00:00:55:44:9a:fb:79:66 and a file as > > below. now i want check if the @newfa entry present in the file if it > > exists then i need to print the matching zone: name > > > > > > zone: tstdetdr_B_AARA_30767_CL45 > > 10:00:00:00:c7:d5:cd:16:c6 > > 50:00:00:08:44:9a:fb:79:90 > > zone: artdetdr_B_AARA_30767_CL45 > > 10:00:00:00:c7:d5:cd:16:c9 > > 50:00:00:08:44:9a:fb:64:90 > > zone: dbtdetdr_B_AARA_30767_CL45 > > 10:00:00:00:c7:d5:cd:16:ca > > 50:00:00:08:44:9a:fb:74:90 > > Try: > > #!/usr/bin/env perl > > use strict; > use warnings; > > use Data::Dumper; > > # Make Data::Dumper pretty > $Data::Dumper::Sortkeys = 1; > $Data::Dumper::Indent = 1; > > # Set maximum depth for Data::Dumper, zero means unlimited > local $Data::Dumper::Maxdepth = 0; > > # -------------------------------------- > # Configuration > > my $key_file = 'file.txt'; > my $zone_file = 'zone.txt'; > > # -------------------------------------- > # Working storage > > # create a hash for the keys > my %keys = (); > > # -------------------------------------- > # Name: load_keys > # Usage: load_keys(); > # Purpose: Load the keys into %keys > # Parameters: (none) > # Returns: (none) > # > sub load_keys { > > open my $key_fh, '<', $key_file or die "could not open $key_file: > $!\n"; > > while( <$key_fh> ){ > chomp; > s/(..)/:$1/gs; > s/^://; > $keys{ lc($_) } = 1; > } > > close $key_fh or die "could not close $key_file: $!\n"; > > # for debugging > # print Dumper \%keys; > > return; > } > > # -------------------------------------- > # Name: scan_zone > # Usage: scan_zone(); > # Purpose: scan the zone file and report the name if the key is > present # Parameters: (none) > # Returns: (none) > # > sub scan_zone { > > open my $zone_fh, '<', $zone_file or die "could not open $zone_file: > $!\n"; > > my $zone_name; > while( <$zone_fh> ){ > chomp; > > # get the zone name > if( /zone\:/ ){ > $zone_name = $_; > next; > } > > # check for key > s/\s+//g; > if( exists $keys{ lc($_) } ){ > print "$zone_name\n"; > } > } > > close $zone_fh or die "could not close $zone_file: $!\n"; > > return; > } > > # -------------------------------------- > # main > > # read the keys > load_keys(); > > # scan the zone file and report the name if the key is present > scan_zone(); > > __END__ > > > -- > Just my 0.00000002 million dollars worth, > Shawn > > Programming is as much about organization and communication > as it is about coding. > > _Perl links_ > official site : http://www.perl.org/ > beginners' help : http://learn.perl.org/faq/beginners.html > advance help : http://perlmonks.org/ > documentation : http://perldoc.perl.org/ > news : http://perlsphere.net/ > repository : http://www.cpan.org/ > blog : http://blogs.perl.org/ > regional groups : http://www.pm.org/ > > -- > To unsubscribe, e-mail: beginners-unsubscr...@perl.org > For additional commands, e-mail: beginners-h...@perl.org > http://learn.perl.org/ > > >