in reply to How to Generate text file by picking up string from other text file line by line
#!/usr/bin/perl use strict; use warnings; my %output=( 'aclallow.conf' => {FH=>undef, TEMPLATE=>sub{my ($ip,$mac) = @_; +return "http_access allow $mac $ip"}}, 'aclip.conf' => {FH=>undef, TEMPLATE=>sub{my ($ip,$mac) = @_; +return "acl ip1 src $ip"}}, 'aclmac.conf' => {FH=>undef, TEMPLATE=>sub{my ($ip,$mac) = @_; +return "acl mac1 arp $mac"}}, ); my $inputfile="data-ip.txt"; open my $fh,"<", $inputfile or die "ERROR: Cannot open '$inputfile' : +$!"; for (keys %output){ open ($output{$_}{FH}, ">", $_) or die "Error: Could not open $_ f +or output:$!"; } while (<$fh>){ chomp; my ($ip,$mac) = split; next unless $ip and $ip=~/^\d/; for (keys %output){ print {$output{$_}{FH}} $output{$_}{TEMPLATE}->($ip,$mac), "\n" +; } } close $fh; for (keys %output){ close ($output{$_}{FH}); }
...it is unhealthy to remain near things that are in the process of blowing up. man page for WARP, by Larry Wall
|
|---|