| Test-Valgrind documentation | Contained in the Test-Valgrind distribution. |
Test::Valgrind::Command::PerlScript - A Test::Valgrind command that invokes a perl script.
Version 1.12
This command is meant to abstract the argument list handling of a perl script.
This class inherits Test::Valgrind::Command::Perl.
new file => $file, [ taint_mode => $taint_mode ], ...The package constructor, which takes several options :
$file is the path to the perl script you want to run.
$taint_mode is actually handled by the parent class Test::Valgrind::Command::Perl, but it gets special handling in this subclass : if undef is passed (which is the default), the constructor will try to infer its right value from the shebang line of the script.Other arguments are passed straight to Test::Valgrind::Command::Perl->new.
fileRead-only accessor for the file option.
Vincent Pit, <perl at profvince.com>, http://www.profvince.com.
You can contact me by mail or on irc.perl.org (vincent).
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.
You can find documentation for this module with the perldoc command.
perldoc Test::Valgrind::Command::PerlScript
Copyright 2009 Vincent Pit, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| 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