diff options
author | Norbert Preining <preining@logic.at> | 2010-05-12 16:54:37 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2010-05-12 16:54:37 +0000 |
commit | 661c41a09e39a182865e0b51e34cc995a0dc96e8 (patch) | |
tree | 2f79bb1406e22fdcb2587be8ffda6c0c609d7932 /Master/tlpkg/tlperl.straw/lib/IPC/Run3/ProfLogReader.pm | |
parent | b645030efc22e13c2498a1522083634ab91b2de1 (diff) |
move tlperl.straw to tlperl
git-svn-id: svn://tug.org/texlive/trunk@18210 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlperl.straw/lib/IPC/Run3/ProfLogReader.pm')
-rwxr-xr-x | Master/tlpkg/tlperl.straw/lib/IPC/Run3/ProfLogReader.pm | 157 |
1 files changed, 0 insertions, 157 deletions
diff --git a/Master/tlpkg/tlperl.straw/lib/IPC/Run3/ProfLogReader.pm b/Master/tlpkg/tlperl.straw/lib/IPC/Run3/ProfLogReader.pm deleted file mode 100755 index 987b3a24f50..00000000000 --- a/Master/tlpkg/tlperl.straw/lib/IPC/Run3/ProfLogReader.pm +++ /dev/null @@ -1,157 +0,0 @@ -package IPC::Run3::ProfLogReader; - -$VERSION = 0.043; - -=head1 NAME - -IPC::Run3::ProfLogReader - read and process a ProfLogger file - -=head1 SYNOPSIS - - use IPC::Run3::ProfLogReader; - - my $reader = IPC::Run3::ProfLogReader->new; ## use "run3.out" - my $reader = IPC::Run3::ProfLogReader->new( Source => $fn ); - - my $profiler = IPC::Run3::ProfPP; ## For example - my $reader = IPC::Run3::ProfLogReader->new( ..., Handler => $p ); - - $reader->read; - $eaderr->read_all; - -=head1 DESCRIPTION - -Reads a log file. Use the filename "-" to read from STDIN. - -=cut - -use strict; - -=head1 METHODS - -=head2 C<< IPC::Run3::ProfLogReader->new( ... ) >> - -=cut - -sub new { - my $class = ref $_[0] ? ref shift : shift; - my $self = bless { @_ }, $class; - - $self->{Source} = "run3.out" - unless defined $self->{Source} && length $self->{Source}; - - my $source = $self->{Source}; - - if ( ref $source eq "GLOB" || UNIVERSAL::isa( $source, "IO::Handle" ) ) { - $self->{FH} = $source; - } - elsif ( $source eq "-" ) { - $self->{FH} = \*STDIN; - } - else { - open PROFILE, "<$self->{Source}" or die "$!: $self->{Source}\n"; - $self->{FH} = *PROFILE{IO}; - } - return $self; -} - - -=head2 C<< $reader->set_handler( $handler ) >> - -=cut - -sub set_handler { $_[0]->{Handler} = $_[1] } - -=head2 C<< $reader->get_handler() >> - -=cut - -sub get_handler { $_[0]->{Handler} } - -=head2 C<< $reader->read() >> - -=cut - -sub read { - my $self = shift; - - my $fh = $self->{FH}; - my @ln = split / /, <$fh>; - - return 0 unless @ln; - return 1 unless $self->{Handler}; - - chomp $ln[-1]; - - ## Ignore blank and comment lines. - return 1 if @ln == 1 && ! length $ln[0] || 0 == index $ln[0], "#"; - - if ( $ln[0] eq "\\app_call" ) { - shift @ln; - my @times = split /,/, pop @ln; - $self->{Handler}->app_call( - [ - map { - s/\\\\/\\/g; - s/\\_/ /g; - $_; - } @ln - ], - @times - ); - } - elsif ( $ln[0] eq "\\app_exit" ) { - shift @ln; - $self->{Handler}->app_exit( pop @ln, @ln ); - } - else { - my @times = split /,/, pop @ln; - $self->{Handler}->run_exit( - [ - map { - s/\\\\/\\/g; - s/\\_/ /g; - $_; - } @ln - ], - @times - ); - } - - return 1; -} - - -=head2 C<< $reader->read_all() >> - -This method reads until there is nothing left to read, and then returns true. - -=cut - -sub read_all { - my $self = shift; - - 1 while $self->read; - - return 1; -} - - -=head1 LIMITATIONS - -=head1 COPYRIGHT - - Copyright 2003, R. Barrie Slaymaker, Jr., All Rights Reserved - -=head1 LICENSE - -You may use this module under the terms of the BSD, Artistic, or GPL licenses, -any version. - -=head1 AUTHOR - -Barrie Slaymaker E<lt>barries@slaysys.comE<gt> - -=cut - -1; |