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 + -
显示快捷键?