#!/usr/bin/env perl
open
STDOUT,
">$ARGV[0]~"
or
die
"$ARGV[0]~: $!"
;
our
$WARN
;
our
$H
;
BEGIN {
$H
= $^H;
}
no
warnings;
FATAL closed threads internal debugging pack malloc portable prototype
inplace io pipe unpack deprecated glob digit printf
layer reserved taint closure semicolon
)
;
no
warnings
qw(exec newline unopened)
;
BEGIN {
$H
= $^H & ~
$H
;
$WARN
= ${^WARNING_BITS};
}
";
printf
"our \$H = 0x%x;\n"
,
$H
;
printf
"our \$WARN = \"%s\";\n\n"
,
join
""
,
map
"\\x$_"
,
unpack
"(H2)*"
,
$WARN
;
print
"
sub
import
{
\${^WARNING_BITS} = \
$WARN
;
\$^H |= \
$H
;
\$^H{feature_switch} = \$^H{feature_say} = \$^H{feature_state} = 1;
}
";
print
"1;"
;
close
STDOUT;
rename
"$ARGV[0]~"
,
$ARGV
[0];