/usr/share/perl/5.34.0/Pod/Simple
NameSizeModeActions
BlackBox.pm866880644editdlrm
Checker.pm54320644editdlrm
Debug.pm46250644editdlrm
DumpAsText.pm40350644editdlrm
DumpAsXML.pm45600644editdlrm
HTML.pm347590644editdlrm
HTMLBatch.pm406560644editdlrm
HTMLLegacy.pm27580644editdlrm
JustPod.pm96370644editdlrm
LinkSection.pm43010644editdlrm
Methody.pm35710644editdlrm
Progress.pm24130644editdlrm
PullParser.pm257290644editdlrm
PullParserEndToken.pm28840644editdlrm
PullParserStartToken.pm41460644editdlrm
PullParserTextToken.pm33630644editdlrm
PullParserToken.pm40040644editdlrm
RTF.pm235560644editdlrm
Search.pm358360644editdlrm
SimpleTree.pm46320644editdlrm
Subclassing.pod337100644editdlrm
Text.pm51030644editdlrm
TextContent.pm25180644editdlrm
TiedOutFH.pm27510644editdlrm
Transcode.pm7360644editdlrm
TranscodeDumb.pm26930644editdlrm
TranscodeSmart.pm7150644editdlrm
XHTML.pm265920644editdlrm
XMLOutStream.pm46660644editdlrm
Edit: /usr/share/perl/5.34.0/Pod/Simple/Progress.pm (2413B)
require 5; package Pod::Simple::Progress; $VERSION = '3.42'; use strict; # Objects of this class are used for noting progress of an # operation every so often. Messages delivered more often than that # are suppressed. # # There's actually nothing in here that's specific to Pod processing; # but it's ad-hoc enough that I'm not willing to give it a name that # implies that it's generally useful, like "IO::Progress" or something. # # -- sburke # #-------------------------------------------------------------------------- sub new { my($class,$delay) = @_; my $self = bless {'quiet_until' => 1}, ref($class) || $class; $self->to(*STDOUT{IO}); $self->delay(defined($delay) ? $delay : 5); return $self; } sub copy { my $orig = shift; bless {%$orig, 'quiet_until' => 1}, ref($orig); } #-------------------------------------------------------------------------- sub reach { my($self, $point, $note) = @_; if( (my $now = time) >= $self->{'quiet_until'}) { my $goal; my $to = $self->{'to'}; print $to join('', ($self->{'quiet_until'} == 1) ? () : '... ', (defined $point) ? ( '#', ($goal = $self->{'goal'}) ? ( ' ' x (length($goal) - length($point)), $point, '/', $goal, ) : $point, $note ? ': ' : (), ) : (), $note || '', "\n" ); $self->{'quiet_until'} = $now + $self->{'delay'}; } return $self; } #-------------------------------------------------------------------------- sub done { my($self, $note) = @_; $self->{'quiet_until'} = 1; return $self->reach( undef, $note ); } #-------------------------------------------------------------------------- # Simple accessors: sub delay { return $_[0]{'delay'} if @_ == 1; $_[0]{'delay'} = $_[1]; return $_[0] } sub goal { return $_[0]{'goal' } if @_ == 1; $_[0]{'goal' } = $_[1]; return $_[0] } sub to { return $_[0]{'to' } if @_ == 1; $_[0]{'to' } = $_[1]; return $_[0] } #-------------------------------------------------------------------------- unless(caller) { # Simple self-test: my $p = __PACKAGE__->new->goal(5); $p->reach(1, "Primus!"); sleep 1; $p->reach(2, "Secundus!"); sleep 3; $p->reach(3, "Tertius!"); sleep 5; $p->reach(4); $p->reach(5, "Quintus!"); sleep 1; $p->done("All done"); } #-------------------------------------------------------------------------- 1; __END__