ACIL FM
Dark
Refresh
Current DIR:
/usr/share/perl5/vendor_perl/TAP/Parser
/
usr
share
perl5
vendor_perl
TAP
Parser
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
Iterator
-
chmod
Open
Rename
Delete
Result
-
chmod
Open
Rename
Delete
Scheduler
-
chmod
Open
Rename
Delete
SourceHandler
-
chmod
Open
Rename
Delete
YAMLish
-
chmod
Open
Rename
Delete
Aggregator.pm
9.03 MB
chmod
View
DL
Edit
Rename
Delete
Grammar.pm
15.3 MB
chmod
View
DL
Edit
Rename
Delete
Iterator.pm
2.93 MB
chmod
View
DL
Edit
Rename
Delete
IteratorFactory.pm
8.11 MB
chmod
View
DL
Edit
Rename
Delete
Multiplexer.pm
4.17 MB
chmod
View
DL
Edit
Rename
Delete
Result.pm
6 MB
chmod
View
DL
Edit
Rename
Delete
ResultFactory.pm
3.97 MB
chmod
View
DL
Edit
Rename
Delete
Scheduler.pm
11.27 MB
chmod
View
DL
Edit
Rename
Delete
Source.pm
9.33 MB
chmod
View
DL
Edit
Rename
Delete
SourceHandler.pm
5.03 MB
chmod
View
DL
Edit
Rename
Delete
Edit file: /usr/share/perl5/vendor_perl/TAP/Parser/Iterator.pm
package TAP::Parser::Iterator; use strict; use warnings; use base 'TAP::Object'; =head1 NAME TAP::Parser::Iterator - Base class for TAP source iterators =head1 VERSION Version 3.42 =cut our $VERSION = '3.42'; =head1 SYNOPSIS # to subclass: use TAP::Parser::Iterator (); use base 'TAP::Parser::Iterator'; sub _initialize { # see TAP::Object... } sub next_raw { ... } sub wait { ... } sub exit { ... } =head1 DESCRIPTION This is a simple iterator base class that defines L<TAP::Parser>'s iterator API. Iterators are typically created from L<TAP::Parser::SourceHandler>s. =head1 METHODS =head2 Class Methods =head3 C<new> Create an iterator. Provided by L<TAP::Object>. =head2 Instance Methods =head3 C<next> while ( my $item = $iter->next ) { ... } Iterate through it, of course. =head3 C<next_raw> B<Note:> this method is abstract and should be overridden. while ( my $item = $iter->next_raw ) { ... } Iterate raw input without applying any fixes for quirky input syntax. =cut sub next { my $self = shift; my $line = $self->next_raw; # vms nit: When encountering 'not ok', vms often has the 'not' on a line # by itself: # not # ok 1 - 'I hate VMS' if ( defined($line) and $line =~ /^\s*not\s*$/ ) { $line .= ( $self->next_raw || '' ); } return $line; } sub next_raw { require Carp; my $msg = Carp::longmess('abstract method called directly!'); $_[0]->_croak($msg); } =head3 C<handle_unicode> If necessary switch the input stream to handle unicode. This only has any effect for I/O handle based streams. The default implementation does nothing. =cut sub handle_unicode { } =head3 C<get_select_handles> Return a list of filehandles that may be used upstream in a select() call to signal that this Iterator is ready. Iterators that are not handle-based should return an empty list. The default implementation does nothing. =cut sub get_select_handles { return; } =head3 C<wait> B<Note:> this method is abstract and should be overridden. my $wait_status = $iter->wait; Return the C<wait> status for this iterator. =head3 C<exit> B<Note:> this method is abstract and should be overridden. my $wait_status = $iter->exit; Return the C<exit> status for this iterator. =cut sub wait { require Carp; my $msg = Carp::longmess('abstract method called directly!'); $_[0]->_croak($msg); } sub exit { require Carp; my $msg = Carp::longmess('abstract method called directly!'); $_[0]->_croak($msg); } 1; =head1 SUBCLASSING Please see L<TAP::Parser/SUBCLASSING> for a subclassing overview. You must override the abstract methods as noted above. =head2 Example L<TAP::Parser::Iterator::Array> is probably the easiest example to follow. There's not much point repeating it here. =head1 SEE ALSO L<TAP::Object>, L<TAP::Parser>, L<TAP::Parser::Iterator::Array>, L<TAP::Parser::Iterator::Stream>, L<TAP::Parser::Iterator::Process>, =cut
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply