stream.pm

来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PM 代码 · 共 93 行

PM
93
字号
package TAP::Parser::Iterator::Stream;use strict;use TAP::Parser::Iterator ();use vars qw($VERSION @ISA);@ISA = 'TAP::Parser::Iterator';=head1 NAMETAP::Parser::Iterator::Stream - Internal TAP::Parser Iterator=head1 VERSIONVersion 3.07=cut$VERSION = '3.07';=head1 SYNOPSIS  use TAP::Parser::Iterator;  my $it = TAP::Parser::Iterator::Stream->new(\*TEST);  my $line = $it->next;Originally ripped off from L<Test::Harness>.=head1 DESCRIPTIONB<FOR INTERNAL USE ONLY!>This is a simple iterator wrapper for filehandles.=head2 Class Methods=head3 C<new>Create an iterator.=head2 Instance Methods=head3 C<next>Iterate through it, of course.=head3 C<next_raw>Iterate raw input without applying any fixes for quirky input syntax.=head3 C<wait>Get the wait status for this iterator. Always returns zero.=head3 C<exit>Get the exit status for this iterator. Always returns zero.=cutsub new {    my ( $class, $thing ) = @_;    bless {        fh => $thing,    }, $class;}##############################################################################sub wait { shift->exit }sub exit { shift->{fh} ? () : 0 }sub next_raw {    my $self = shift;    my $fh   = $self->{fh};    if ( defined( my $line = <$fh> ) ) {        chomp $line;        return $line;    }    else {        $self->_finish;        return;    }}sub _finish {    my $self = shift;    close delete $self->{fh};}1;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?