/usr/lib/x86_64-linux-gnu/perl5/5.24/Class/XSAccessor/Heavy.pm is in libclass-xsaccessor-perl 1.19-2+b7.
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | package # hide from PAUSE
Class::XSAccessor::Heavy;
use 5.008;
use strict;
use warnings;
use Carp;
our $VERSION = '1.19';
our @CARP_NOT = qw(
Class::XSAccessor
Class::XSAccessor::Array
);
# TODO Move more duplicated code from XSA and XSA::Array here
sub check_sub_existence {
my $subname = shift;
my $sub_package = $subname;
$sub_package =~ s/([^:]+)$// or die;
my $bare_subname = $1;
my $sym;
{
no strict 'refs';
$sym = \%{"$sub_package"};
}
no warnings;
local *s = $sym->{$bare_subname};
my $coderef = *s{CODE};
if ($coderef) {
$sub_package =~ s/::$//;
Carp::croak("Cannot replace existing subroutine '$bare_subname' in package '$sub_package' with an XS implementation. If you wish to force a replacement, add the 'replace => 1' parameter to the arguments of 'use ".(caller())[0]."'.");
}
}
1;
__END__
=head1 NAME
Class::XSAccessor::Heavy - Guts you don't care about
=head1 SYNOPSIS
use Class::XSAccessor!
=head1 DESCRIPTION
Common guts for Class::XSAccessor and Class::XSAccessor::Array.
No user-serviceable parts inside!
=head1 SEE ALSO
L<Class::XSAccessor>
L<Class::XSAccessor::Array>
=head1 AUTHOR
Steffen Mueller, E<lt>smueller@cpan.orgE<gt>
chocolateboy, E<lt>chocolate@cpan.orgE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2008, 2009, 2010, 2011, 2012, 2013 by Steffen Mueller
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.8 or,
at your option, any later version of Perl 5 you may have available.
=cut
|