/usr/share/perl5/CLASS.pm is in libclass-perl 1.00-2.
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 76 77 78 79 80 81 82 83 | package CLASS;
use 5.004;
$VERSION = '1.00';
BEGIN {
# Faster than 'use constant'. Load time critical.
# Must eval to make $] constant.
*PERL_VERSION = eval qq{ sub () { $] } };
}
sub import {
my $caller = caller;
*{$caller.'::CLASS'} = \$caller;
# This logic is compiled out.
if( PERL_VERSION >= 5.008 ) {
# 5.8.x smart enough to make this a constant.
*{$caller.'::CLASS'} = sub () { $caller };
}
else {
# Make CLASS a constant.
*{$caller.'::CLASS'} = eval qq{ sub () { q{$caller} } };
}
}
=head1 NAME
CLASS - Alias for __PACKAGE__
=head1 SYNOPSIS
package Foo;
use CLASS;
print CLASS; # Foo
print "My class is $CLASS\n"; # My class is Foo
sub bar { 23 }
print CLASS->bar; # 23
print $CLASS->bar; # 23
=head1 DESCRIPTION
CLASS and $CLASS are both synonyms for __PACKAGE__. Easier to type.
$CLASS has the additional benefit of working in strings.
=head1 NOTES
CLASS is a constant, not a subroutine call. $CLASS is a plain
variable, it is not tied. There is no performance loss for using
CLASS over __PACKAGE__ except the loading of the module. (Thanks
Juerd)
=head1 AUTHOR
Michael G Schwern <schwern@pobox.com>
=head1 LICENSE
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
See L<http://www.perl.com/perl/misc/Artistic.html>
=head1 SEE ALSO
L<perlmod(1)>
=cut
1;
|