2 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I'm reading through yet another book on Unix admin'ing and it occurs to me once again that there are simply way too many things that you could be learning about with Unix for a newbie and you don't have infinite amounts of time to learn it all.
For instance, I'm told that learning the... (2 Replies)
Discussion started by: jatkins679
2 Replies
2. UNIX for Advanced & Expert Users
For you Unix sysadmins: what are you 10 most common duties/responsibilities as sysadmins and what would you suggest a newbie sysadmin do to learn them?
For instance, say adding/deleting users is one of your most common duties. So a newbie would be wise to get familiar with useradd/userdel,... (15 Replies)
Discussion started by: jatkins679
15 Replies
LEARN ABOUT SUSE
tap::parser::source::perl
TAP::Parser::Source::Perl(3pm) Perl Programmers Reference Guide TAP::Parser::Source::Perl(3pm)
NAME
TAP::Parser::Source::Perl - Stream Perl output
VERSION
Version 3.17
SYNOPSIS
use TAP::Parser::Source::Perl;
my $perl = TAP::Parser::Source::Perl->new;
my $stream = $perl->source( [ $filename, @args ] )->get_stream;
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 TAP::Parser::Source. See that module for more methods.
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 ] );
"croak"s if $filename could not be found.
"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($parser);
Returns a stream of the output generated by executing "source". Must be passed an object that implements a "make_iterator" method.
Typically this is a TAP::Parser instance.
"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' );
SUBCLASSING
Please see "SUBCLASSING" in TAP::Parser for a subclassing overview.
Example
package MyPerlSource;
use strict;
use vars '@ISA';
use Carp qw( croak );
use TAP::Parser::Source::Perl;
@ISA = qw( TAP::Parser::Source::Perl );
sub source {
my ($self, $args) = @_;
if ($args) {
$self->{file} = $args->[0];
return $self->SUPER::source($args);
}
return $self->SUPER::source;
}
# use the version of perl from the shebang line in the test file
sub _get_perl {
my $self = shift;
if (my $shebang = $self->shebang( $self->{file} )) {
$shebang =~ /^#!(.*perl.*?)(?:(?:s)|(?:$))/;
return $1 if $1;
}
return $self->SUPER::_get_perl(@_);
}
SEE ALSO
TAP::Object, TAP::Parser, TAP::Parser::Source,
perl v5.12.1 2010-04-26 TAP::Parser::Source::Perl(3pm)