Experts - I was hoping someone could help me out with the logic on this perl script.
I'm trying to run some dig commands and parse in such a way as to group them together.
Here's what I have so far.
#!/usr/bin/perl
system(clear);
my @host = qw/yahoo.com
google.com
/;
foreach $i (@host) {
$site{$i}=[];
my @output = qx/dig -t aaaa +noall +answer $i/;
push @{$site{$i}}, @output;
}
foreach $j (sort keys %site) {
$site{$j}[1]=[];
my @aaaa = @{$site{$j}};
for $ip (@aaaa) {
my @IP = split /\s+/,$aaaa[$ip];
my @pingout = qx/ping6 -c3 $IP[4]/;
}
push @{$site{$j}[1]},@pingout;
}
I'm trying to create a list like the following:
yahoo.com
yahoo.com. 77 IN AAAA 2001:4998:44:204::a7
PING 2001:4998:44:204::a7(2001:4998:44:204::a7) 56 data bytes
64 bytes from 2001:4998:44:204::a7: icmp_seq=1 ttl=52 time=90.9 ms
--- 2001:4998:44:204::a7 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 90.918/90.918/90.918/0.000 ms
yahoo.com. 77 IN AAAA 2001:4998:58:c02::a9
PING 2001:4998:58:c02::a9(2001:4998:58:c02::a9) 56 data bytes
64 bytes from 2001:4998:58:c02::a9: icmp_seq=1 ttl=48 time=92.8 ms
--- 2001:4998:58:c02::a9 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 92.878/92.878/92.878/0.000 ms
yahoo.com. 77 IN AAAA 2001:4998:c:a06::2:4008
PING 2001:4998:c:a06::2:4008(2001:4998:c:a06::2:4008) 56 data bytes
64 bytes from 2001:4998:c:a06::2:4008: icmp_seq=1 ttl=49 time=120 ms
--- 2001:4998:c:a06::2:4008 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 120.716/120.716/120.716/0.000 ms
google.com
google.com. 182 IN AAAA 2607:f8b0:4007:806::200e
PING 2607:f8b0:4007:806::200e(2607:f8b0:4007:806::200e) 56 data bytes
64 bytes from 2607:f8b0:4007:806::200e: icmp_seq=1 ttl=56 time=62.4 ms
--- 2607:f8b0:4007:806::200e ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 62.458/62.458/62.458/0.000 ms
Does anyone have any advice on this?
Thanks in advance.