Test::Valgrind::Command::PerlScript - A Test::Valgrind command that invokes a perl script.


Test-Valgrind documentation Contained in the Test-Valgrind distribution.

Index


Code Index:

NAME

Top

Test::Valgrind::Command::PerlScript - A Test::Valgrind command that invokes a perl script.

VERSION

Top

Version 1.12

DESCRIPTION

Top

This command is meant to abstract the argument list handling of a perl script.

METHODS

Top

This class inherits Test::Valgrind::Command::Perl.

new file => $file, [ taint_mode => $taint_mode ], ...

The package constructor, which takes several options :

Other arguments are passed straight to Test::Valgrind::Command::Perl->new.

file

Read-only accessor for the file option.

SEE ALSO

Top

Test::Valgrind, Test::Valgrind::Command::Perl.

AUTHOR

Top

Vincent Pit, <perl at profvince.com>, http://www.profvince.com.

You can contact me by mail or on irc.perl.org (vincent).

BUGS

Top

Please report any bugs or feature requests to bug-test-valgrind at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Valgrind. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

Top

You can find documentation for this module with the perldoc command.

    perldoc Test::Valgrind::Command::PerlScript

COPYRIGHT & LICENSE

Top


Test-Valgrind documentation Contained in the Test-Valgrind distribution.
package Test::Valgrind::Command::PerlScript;

use strict;
use warnings;

our $VERSION = '1.12';

use base qw/Test::Valgrind::Command::Perl Test::Valgrind::Carp/;

sub new {
 my $class = shift;
 $class = ref($class) || $class;

 my %args = @_;

 my $file = delete $args{file};
 $class->_croak('Invalid script file') unless $file and -e $file;

 my $taint_mode = delete $args{taint_mode};
 if (not defined $taint_mode and open my $fh, '<', $file) {
  my $first = <$fh>;
  close $fh;
  if ($first and my ($args) = $first =~ /^\s*#\s*!\s*perl\s*(.*)/) {
   $taint_mode = 1 if $args =~ /(?:^|\s)-T(?:$|\s)/;
  }
  $taint_mode = 0 unless defined $taint_mode;
 }

 my $self = bless $class->SUPER::new(
  taint_mode => $taint_mode,
  %args,
 ), $class;

 $self->{file} = $file;

 return $self;
}

sub new_trainer { Test::Valgrind::Command::Perl->new_trainer }

sub file { $_[0]->{file} }

sub args {
 my $self = shift;

 return $self->SUPER::args(@_),
        $self->file
}

1; # End of Test::Valgrind::Command::PerlScript