#!/usr/bin/perl -w # Copyright (c) 2004, 2005, 2006 Peter Palfrader # # Permission is hereby granted, free of charge, to any person obtaining # a copy of this software and associated documentation files (the # "Software"), to deal in the Software without restriction, including # without limitation the rights to use, copy, modify, merge, publish, # distribute, sublicense, and/or sell copies of the Software, and to # permit persons to whom the Software is furnished to do so, subject to # the following conditions: # # The above copyright notice and this permission notice shall be # included in all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. use strict; my $in_connect = 0; my $ipv6; my $host; my $name; while (<>) { if (/^connect /) { $in_connect = 1; $name = undef; $host = undef; $ipv6 = undef; } elsif (/^\};/) { $in_connect = 0; if (defined $name && defined $host) { print "$name $host\n"; print "$name"."6 $ipv6\n" if defined $ipv6; $name = undef; $host = undef; $ipv6 = undef; } } elsif ($in_connect) { if (/^\s*name\s*=\s*"(\S+)\.oftc.net";\s*$/) { $name = $1; } elsif (/^\s*host\s*=\s*"(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})";\s*$/) { $host = $1; } elsif (/^\s*#\s*ipv6\s*address:\s*([0-9a-f:]+)/) { $ipv6 = $1; }; }; };