TAP::Parser::Source::Perl - Stream Perl output


NAME

TAP::Parser::Source::Perl - Stream Perl output


VERSION

Version 3.10


DESCRIPTION

Takes a filename and hopefully returns a stream from it. The filename should be the name of a Perl program.

Note that this is a subclass of the TAP::Parser::Source manpage. See that module for more methods.


SYNOPSIS

    use TAP::Parser::Source::Perl;
    my $perl = TAP::Parser::Source::Perl->new;
    my $stream = $perl->source( [ $filename, @args ] )->get_stream;


METHODS

Class Methods

new

 my $perl = TAP::Parser::Source::Perl->new;

Returns a new TAP::Parser::Source::Perl object.

Instance Methods

source

Getter/setter the name of the test program and any arguments it requires.

  my ($filename, @args) = @{ $perl->source };
  $perl->source( [ $filename, @args ] );

switches

  my $switches = $perl->switches;
  my @switches = $perl->switches;
  $perl->switches( \@switches );

Getter/setter for the additional switches to pass to the perl executable. One common switch would be to set an include directory:

  $perl->switches( ['-Ilib'] );

get_stream

 my $stream = $source->get_stream;

Returns a stream of the output generated by executing source.

shebang

Get the shebang line for a script file.

    my $shebang = TAP::Parser::Source::Perl->shebang( $some_script );

May be called as a class method

get_taint

Decode any taint switches from a Perl shebang line.

    # $taint will be 't'
    my $taint = TAP::Parser::Source::Perl->get_taint( '#!/usr/bin/perl -t' );
    # $untaint will be undefined
    my $untaint = TAP::Parser::Source::Perl->get_taint( '#!/usr/bin/perl' );
 TAP::Parser::Source::Perl - Stream Perl output