mikejones has asked for the wisdom of the Perl Monks concerning the following question:
1 use strict; 2 use warning; 3 use diagnostics; 4 5 my @dublinaray = glob("/home/user/passwd.*"); 6 my $dublin_aref = \@dublinaray; 7 my (%dublin_hosts) = (); 8 my ($dub_key,$dub_values,); 9 10 parse_file(); 11 12 13 sub parse_file { 14 foreach my $element ( @{$dublin_aref} ) { 15 { local *FILE; 16 open (FILE, "+<$element") or die "dublin reference did not open: $!"; 17 local $/ = undef; 18 ($dub_key) = $element =~ m|\.(\w+\.\w+)\z|i; 19 ($dub_values) = split /:/, <FILE>; 20 push ( @{$dublin_hosts{$dub_key}}, $dub_values ); 21 print Dumper("KEY\t",$dub_key,"\n\n"); 22 print Dumper("ELEMENTS\t",$element,"\n\n"); 23 print Dumper("DUB VALUES\t",$dub_values,"\n\n"); 24 } 25 } 26 while ( ($dub_key,$dub_values) = each %dublin_hosts ) { 27 print Dumper("$dub_key => $dub_values\n"); 28 } 29 30 } ##-- END SUB --## ## thank you!
|
|---|