/usr/share/perl5/Heap/Elem/Str.pm is in libheap-perl 0.80-3.
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 | package Heap::Elem::Str;
use strict;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
use Heap::Elem;
require Exporter;
@ISA = qw(Exporter Heap::Elem);
# No names exported.
@EXPORT = ( );
# Available for export: StrElem (to allocate a new Heap::Elem::Str value)
@EXPORT_OK = qw( StrElem );
$VERSION = '0.80';
sub StrElem { # exportable synonym for new
Heap::Elem::Str->new(@_);
}
# compare two Str elems
sub cmp {
my $self = shift;
my $other = shift;
return $_[0][0] cmp $_[1][0];
}
1;
__END__
=head1 NAME
Heap::Elem::Str - String Heap Elements
=head1 SYNOPSIS
use Heap::Elem::Str( StrElem );
use Heap::Fibonacci;
my $heap = Heap::Fibonacci->new;
my $elem;
foreach $i ( 'aa'..'bz' ) {
$elem = StrElem( $i );
$heap->add( $elem );
}
while( defined( $elem = $heap->extract_top ) ) {
print "Smallest is ", $elem->val, "\n";
}
=head1 DESCRIPTION
Heap::Elem::Str is used to wrap string values into an element
that can be managed on a heap. The top of the heap will have
the smallest element still remaining. (See L<Heap::Elem::StrRev>
if you want the heap to always return the largest element.)
The details of the Elem interface are described in L<Heap::Elem>.
The details of using a Heap interface are described in L<Heap>.
=head1 AUTHOR
John Macdonald, john@perlwolf.com
=head1 COPYRIGHT
Copyright 1998-2007, O'Reilly & Associates.
This code is distributed under the same copyright terms as perl itself.
=head1 SEE ALSO
Heap(3), Heap::Elem(3), Heap::Elem::StrRev(3).
=cut
|