```{index} single: TAP::Parser::SourceHandler::RawTAP ``` # TAP::Parser::SourceHandler::RawTAP Stream output from raw TAP in a scalar/array ref. ## VERSION Version 3.52 ## SYNOPSIS ```perl use TAP::Parser::Source; use TAP::Parser::SourceHandler::RawTAP; my $source = TAP::Parser::Source->new->raw( \"1..1\nok 1\n" ); $source->assemble_meta; my $class = 'TAP::Parser::SourceHandler::RawTAP'; my $vote = $class->can_handle( $source ); my $iter = $class->make_iterator( $source ); ``` ## DESCRIPTION This is a _raw TAP output_ [TAP::Parser::SourceHandler](../SourceHandler.md) - it has 2 jobs: 1\. Figure out if the [TAP::Parser::Source](../Source.md) it's given is raw TAP output ("can\_handle"). 2\. Creates an iterator for raw TAP output ("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 ); ``` Only votes if $source is an array, or a scalar with newlines. Casts the following votes: ```text 0.9 if it's a scalar with '..' in it 0.7 if it's a scalar with 'ok' in it 0.3 if it's just a scalar with newlines 0.5 if it's an array ``` #### `make_iterator` ```perl my $iterator = $class->make_iterator( $source ); ``` Returns a new [TAP::Parser::Iterator::Array](../Iterator/Array.md) for the source. `$source->raw` must be an array ref, or a scalar ref. `croak`s on error. ## 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::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::Handle](Handle.md)