```{index} single: TAP::Parser::SourceHandler::Handle ``` # TAP::Parser::SourceHandler::Handle Stream TAP from an IO::Handle or a GLOB. ## VERSION Version 3.52 ## SYNOPSIS ```perl use TAP::Parser::Source; use TAP::Parser::SourceHandler::Executable; my $source = TAP::Parser::Source->new->raw( \*TAP_FILE ); $source->assemble_meta; my $class = 'TAP::Parser::SourceHandler::Handle'; my $vote = $class->can_handle( $source ); my $iter = $class->make_iterator( $source ); ``` ## DESCRIPTION This is a _raw TAP stored in an IO Handle_ [TAP::Parser::SourceHandler](../SourceHandler.md) class. It has 2 jobs: 1\. Figure out if the [TAP::Parser::Source](../Source.md) it's given is an [IO::Handle](../../../IO/Handle.md) or GLOB containing raw TAP output ("can\_handle"). 2\. Creates an iterator for IO::Handle's & globs ("make\_iterator"). Unless you're writing a plugin or subclassing [TAP::Parser](../../Parser.md), you probably won't need to use this module directly. ## METHODS ### Class Methods #### `can_handle` ```perl my $vote = $class->can_handle( $source ); ``` Casts the following votes: ```perl 0.9 if $source is an IO::Handle 0.8 if $source is a glob ``` #### `make_iterator` ```perl my $iterator = $class->make_iterator( $source ); ``` Returns a new [TAP::Parser::Iterator::Stream](../Iterator/Stream.md) for the source. #### `iterator_class` The class of iterator to use, override if you're sub-classing. Defaults to [TAP::Parser::Iterator::Stream](../Iterator/Stream.md). ## SUBCLASSING Please see ["SUBCLASSING" in TAP::Parser](../../Parser.md) for a subclassing overview. ## SEE ALSO [TAP::Object](../../Object.md), [TAP::Parser](../../Parser.md), [TAP::Parser::Iterator](../Iterator.md), [TAP::Parser::Iterator::Stream](../Iterator/Stream.md), [TAP::Parser::IteratorFactory](../IteratorFactory.md), [TAP::Parser::SourceHandler](../SourceHandler.md), [TAP::Parser::SourceHandler::Executable](Executable.md), [TAP::Parser::SourceHandler::Perl](Perl.md), [TAP::Parser::SourceHandler::File](File.md), [TAP::Parser::SourceHandler::RawTAP](RawTAP.md)