aboutsummaryrefslogtreecommitdiff
path: root/sort-interim.pl
diff options
context:
space:
mode:
Diffstat (limited to 'sort-interim.pl')
-rwxr-xr-xsort-interim.pl32
1 files changed, 32 insertions, 0 deletions
diff --git a/sort-interim.pl b/sort-interim.pl
new file mode 100755
index 0000000..2bd2a31
--- /dev/null
+++ b/sort-interim.pl
@@ -0,0 +1,32 @@
+#!/usr/bin/env perl
+
+my $this;
+my %elts;
+
+sub process {
+ my $data = shift;
+ my $key;
+
+ $data =~ m@\s+(U[[:xdigit:]]+)\s+@;
+ $key=$1;
+ if ($elts{$key}) {
+ print STDERR "Warning: key $key found more than once.\n";
+ }
+ $elts{$key}=$data;
+}
+
+while (<>) {
+ if (/(?:###\+)?<MM>/) {
+ while (/(?:###\+)?<MM>/) {
+ $this .= $_;
+ $_ = <>;
+ }
+ process $this;
+ $this='';
+ }
+ $this .= $_;
+}
+
+for $k (sort keys %elts) {
+ print $elts{$k};
+}