/usr/lib/x86_64-linux-gnu/perl5/5.26/Wx/build/MakeMaker/Hacks.pm is in libwx-perl 1:0.9932-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | package Wx::build::MakeMaker::Hacks;
use strict;
use base 'Exporter';
use vars '@EXPORT_OK';
@EXPORT_OK = qw(hijack);
sub _find_name($$) {
my( $package, $method ) = @_;
no strict 'refs';
return $package if defined &{"${package}::${method}"};
my @isa = @{$package . '::ISA'};
use strict 'refs';
foreach my $i ( @isa ) {
my $p = &_find_name( $i, $method );
return $p if $p;
}
return;
}
sub hijack($$$) {
my( $obj, $method, $replace ) = @_;
my $spackage = ref( $obj ) || $obj;
my $rpackage = _find_name( $spackage, $method );
die "Can't hijack method '$method' from package '$spackage'",
unless $rpackage;
my $fqn = "${rpackage}::$method";
no strict 'refs';
my $save = \&{$fqn};
undef *{$fqn};
*{$fqn} = $replace;
return $save;
}
1;
# local variables:
# mode: cperl
# end:
|