matthew@ooc.uva.nl (Matthew Lewis) (02/20/91)
Hello! After a long period of fustration with the somewhat chaotic output of atlook, last night I hacked together a perl program to print it somewhat more understandably. It is not elegant perl, and it could be made more obviously portable (i.e., the directory is hard-coded), but it is useful. If anyone cleans it up and makes it more elegant, I would love to see the result. I call it 'atprint' and it takes one parameter (optional), the zone name. If there are spaces in the name, you should enclose the name in double quotes. I hope that you find it useful. Matthew Lewis Sysadmin, CICT/OOC University of Amsterdam ------>->-> Cut Here <-<-<---------- #!/usr/local/bin/perl open(PIPE,"/usr/local/bin/cap60/atlook '$ARGV[0]' |") || die "Cannot open atlook"; $a = <PIPE>; $a = <PIPE>; while (<PIPE>) { $index = substr($_,0,3); $name = substr($_,5,41); $name =~ s/\s*$//; $net = substr($_,53,4); $node = substr($_,63,3); $socket = substr($_,71,3); $list{"$node"} .= "$name\034"; } print "\n\nNode list for network $ARGV[0]:\n"; print "Node Names\n---- ------------------------\n\n"; while (($key, $value) = each %list) { print "$key:"; @names = split(/\034/,$value); @names = sort @names; for ($i=0; $i <= $#names; $i++) { print " $names[$i]\n"; } print "--------------------------------------------\n"; } -- Matthew Lewis, University of Amsterdam Grote Bickersstraat 72 +31-20-52 51 220 1013 KS Amsterdam Internet: matthew@ooc.uva.nl The Netherlands UUCP: uunet!mcsun!hp4nl!uvabick!matthew