Add KoDDoS.net Mirror
[grml-mirrors.git] / bin / masterlist2mirmon
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 my $file = shift;
7
8 die "no file $file" unless -f $file;
9
10 open (my $fh, '<', $file) or die "Could not open $file: $!";
11
12 my @mirrors;
13 my $data;
14 while (my $line = <$fh>) {
15     chomp $line;
16     if ($line =~ /([^:]+): (.*)/) {
17         my $key = lc($1);
18         my $value = $2;
19         $data->{$key} = $value;
20     } elsif ($line eq '') {
21         push @mirrors, $data;
22         $data = undef;
23     } else {
24         print "Malformed line: $line\n";
25     }
26 }
27
28 push @mirrors, $data if $data;
29
30 foreach my $mirror (@mirrors) {
31     my ($c, $r) = split (/ +/, $mirror->{'country'});
32     printf ("%s http://%s%s\n", $c, $mirror->{'site'}, $mirror->{'grml-http'});
33     if ($mirror->{'grml-ftp'}) {
34         printf ("%s ftp://%s%s\n", $c, $mirror->{'site'}, $mirror->{'grml-ftp'});
35     }
36     if ($mirror->{'grml-rsync'}) {
37         printf ("%s rsync://%s/%s\n", $c, $mirror->{'site'}, $mirror->{'grml-rsync'});
38     }
39
40 }