diff options
Diffstat (limited to 'make_as_del.pl')
-rwxr-xr-x | make_as_del.pl | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/make_as_del.pl b/make_as_del.pl new file mode 100755 index 0000000..0248678 --- /dev/null +++ b/make_as_del.pl @@ -0,0 +1,33 @@ +#!/usr/bin/perl +# SPDX-License-Identifier: GPL-2.0-or-later + +use warnings; +use strict; + +my $last_l = 0; + +while (<>) { + chomp; + s/#.*$//; + s/^\s+//; s/\s+$//; + next if /^$/; + + my ($fh, $fl, $lh, $ll, $s, $f, $l); + my $comment = ''; + if (($fh, $fl, $lh, $ll, $s) = + /^(\d+)\.(\d+)\s+(\d+)\.(\d+)\s+([\w\.-]+)$/) { + $f = ($fh << 16) + $fl; + $l = ($lh << 16) + $ll; + $comment = qq|\t/* $fh.$fl $lh.$ll */|; + } elsif (($f, $l, $s) = /^(\d+)\s+(\d+)\s+([\w\.-]+)$/) { + } else { + die "format error: $_"; + } + + die "constraint violated: $l < $last_l" if $l < $last_l; + $last_l = $l; + + my $server = ($s =~ /\./) ? $s : "whois.$s.net"; + print qq|{ ${f}u, ${l}u,\t"$server" },$comment\n|; +} + |