initial commit for GitHub
This commit is contained in:
22
compress/digitize.pl
Executable file
22
compress/digitize.pl
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/usr/bin/env perl
|
||||
|
||||
# Convert numbers to hex, when doing so is likely to increase compressibility.
|
||||
# This actually makes the script slightly longer, but generally makes it compress
|
||||
# to something shorter.
|
||||
#
|
||||
# Here we're targeting constants like 0xFF, 0xFFFF0000, 0x10101, 0x100000000, etc.
|
||||
|
||||
sub digitize {
|
||||
my $number = shift;
|
||||
if ($number >= 256) {
|
||||
my $nn = sprintf("%x", $number);
|
||||
if ($nn =~ /^[01f]+$/i) { return "0x$nn"; }
|
||||
}
|
||||
return $number;
|
||||
}
|
||||
|
||||
while (<>) {
|
||||
s/([^a-zA-Z0-9_])(\d+)/$1 . digitize $2/eg;
|
||||
print;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user