46 lines
1.0 KiB
Perl
Executable File
46 lines
1.0 KiB
Perl
Executable File
#!/usr/bin/env perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
# this normalizes things that are ok to change, like random numbers (which it numbers
|
|
# in the order found to keep relative values correct), SRESs (ditto), dates, and PIDs.
|
|
# And source code line numbers.
|
|
|
|
my($hexN) = 1000;
|
|
my(%mapping);
|
|
|
|
sub hexmap {
|
|
my($in) = @_;
|
|
my($out) = $mapping{$in};
|
|
if (!defined($out)) {
|
|
$out = substr("hexhexhexhexhexhexhexhexhexhexhex", 0, length($in) - 4) . $hexN;
|
|
$mapping{$in} = $out;
|
|
$hexN++;
|
|
}
|
|
return $out;
|
|
}
|
|
|
|
sub main {
|
|
my($first) = 1;
|
|
while (<>) {
|
|
# normalize big (random) hex numbers
|
|
s/\b([0-9a-fA-F]{32})\b/&hexmap($1)/ge; # RAND and Ki size
|
|
s/\b([0-9a-fA-F]{24})\b/&hexmap($1)/ge; # simout size
|
|
s/\b([0-9a-fA-F]{8})\b/&hexmap($1)/ge; # SRES size
|
|
# normalize dates
|
|
if ($first) {
|
|
$first = 0;
|
|
} else {
|
|
s/[A-Z][a-z][a-z] [A-Z][a-z][a-z] (\d| )\d \d\d:\d\d:\d\d (P[DS]T )?201\d/-DATE-/;
|
|
}
|
|
# normalize PIDs
|
|
s/(subscriberregistry\.[12])\.\d+/$1.-PID-/g;
|
|
# normalize source code line numbers
|
|
s/(\.cpp):(\d+):/$1:-0-:/;
|
|
print;
|
|
}
|
|
}
|
|
|
|
&main;
|