With two understandable exceptions for use strict 'refs'.
package ExtUtils::ParseXS;
+use strict 'subs';
+use strict 'refs';
use 5.006; # We use /??{}/ in regexes
use Cwd;
$_ = shift(@line);
while (my $kwd = check_keyword("REQUIRE|PROTOTYPES|FALLBACK|VERSIONCHECK|INCLUDE(?:_COMMAND)?|SCOPE")) {
+ no strict 'refs';
&{"${kwd}_handler"}();
+ use strict 'refs';
next PARAGRAPH unless @line;
$_ = shift(@line);
}
}
}
- if ($Overload) # make it findable with fetchmethod
- {
+ if ($Overload) { # make it findable with fetchmethod
print Q(<<"EOF");
#XS(XS_${Packid}_nil); /* prototype to pass -Wmissing-prototypes */
#XS(XS_${Packid}_nil)
my($pattern) = @_;
my $kwd;
+ no strict 'refs';
&{"${kwd}_handler"}()
while $kwd = check_keyword($pattern);
+ use strict 'refs';
}
sub CASE_handler {