summaryrefslogtreecommitdiffstats
path: root/make_as_del.pl
blob: 0248678322aca21e2df8f9ef20f46794612be5d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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|;
}