@out =
<>;
print Dump(@out);
####
#!/usr/bin/perl -l
use YAML;
# whitespace separated column number of hostnames (base 0)
$col = shift @ARGV || 0;
# hostname other junk -- 0
# other junk hostname junk -- 2
# ...
@out =
map { [ join('.', @{$_->[0]}), $_->[1], $_->[2] ] }
map { [ [ reverse split /\./, $_->[0] ], $_->[1], $_->[2] ] }
sort { $a->[0] cmp $b->[0] }
map { [ join( '.', reverse @{$_->[0]} ), [ @{$_->[0]} ], $_->[1] ] }
map { [ [ split /\./, $_->[0] ], $_->[1] ] }
map { chomp; @f = split; $f = splice @f, $col, 1; [ $f , [ @f ] ] }
<>;
# for regular list
print "-" x 50;
for $x ( @out ) {
print "$x->[0] -- @{$x->[2]}";
}
# for permuted list
print "-" x 50;
for $x ( @out ) {
for $y ( @{$x->[1]} ) {
push @{ $d{$y} }, [ $x->[0], $x->[2] ];
}
}
for $k ( sort keys %d ) {
print "$k:";
print "\t$_->[0] -- @{$_->[1]}" for @{ $d{$k} };
}
__END__
order and/or permute hostname with info
cat <<_END_ | perl foo.pl $column
isc.org tra la la la la
juniper.net tra la da la da
paradise.gen.nz bra la da la da
troublemaking.geek.nz bra la la la la
hookup.net woot toot boot
automagic.org bling blang blum
_END_
--------------------------------------------------
hookup.net -- woot toot boot
juniper.net -- tra la da la da
troublemaking.geek.nz -- bra la la la la
paradise.gen.nz -- bra la da la da
automagic.org -- bling blang blum
isc.org -- tra la la la la
--------------------------------------------------
automagic:
automagic.org -- bling blang blum
geek:
troublemaking.geek.nz -- bra la la la la
gen:
paradise.gen.nz -- bra la da la da
hookup:
hookup.net -- woot toot boot
isc:
isc.org -- tra la la la la
juniper:
juniper.net -- tra la da la da
net:
hookup.net -- woot toot boot
juniper.net -- tra la da la da
nz:
troublemaking.geek.nz -- bra la la la la
paradise.gen.nz -- bra la da la da
org:
automagic.org -- bling blang blum
isc.org -- tra la la la la
paradise:
paradise.gen.nz -- bra la da la da
troublemaking:
troublemaking.geek.nz -- bra la la la la
####
@out = <>
==> map { chomp; [ split ] }
==> sort { $somthing }
==> map { sprintf "blah: @$_" }
;
print Dump(@out);