chiark / gitweb /
ERR trap is a bashism
[bin.git] / write-newsrc
1 #! /usr/bin/perl -w
2 use strict;
3
4 my $start = <>;
5 chomp $start;
6 my $end = <>;
7 chomp $end;
8
9 while (defined $start)
10 {
11     if (not defined $end)
12     {
13         print $start;
14         undef $start;
15     }
16     elsif ($start + 1 != $end)
17     {
18         print "$start,";
19         $start = $end;
20         $end = <>;
21         chomp $end if defined $end;
22     }
23     else
24     {
25         my $newend = $end;
26         do
27         {
28             $end = $newend;
29             $newend = <>;
30             chomp $newend if defined $newend;
31         } while defined $newend and $newend == $end + 1;
32         print "$start-$end";
33         print "," if defined $newend;
34         $start = $newend;
35         if (defined $start)
36         {
37             $end = <>;
38             chomp $end if defined $end;
39         }
40     }
41 }
42
43 print "\n";