diff options
Diffstat (limited to 'lib/Reply/Plugin/Hints.pm')
-rw-r--r-- | lib/Reply/Plugin/Hints.pm | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/Reply/Plugin/Hints.pm b/lib/Reply/Plugin/Hints.pm index af557e3..ac31ceb 100644 --- a/lib/Reply/Plugin/Hints.pm +++ b/lib/Reply/Plugin/Hints.pm @@ -29,7 +29,21 @@ sub mangle_line { my $self = shift; my ($line) = @_; - return "BEGIN { \$^H = \$" . __PACKAGE__ . "::hints; \%^H = \%\$" . __PACKAGE__ . "::hinthash; \${^WARNING_BITS} = \$" . __PACKAGE__ . "::warning_bits }\n$line\n;BEGIN { \$" . __PACKAGE__ . "::hints = \$^H; \$" . __PACKAGE__ . "::hinthash = \\\%^H; \$" . __PACKAGE__ . "::warning_bits = \${^WARNING_BITS} }"; + my $package = __PACKAGE__; + return <<LINE; +BEGIN { + \$^H = \$${package}::hints; + \%^H = \%\$${package}::hinthash; + \${^WARNING_BITS} = \$${package}::warning_bits; +} +$line +; +BEGIN { + \$${package}::hints = \$^H; + \$${package}::hinthash = \\\%^H; + \$${package}::warning_bits = \${^WARNING_BITS}; +} +LINE } sub compile { |