如何在perl脚本中运行perl脚本N次

时间:2013-01-08 17:05:04

标签: perl

这是我正在使用的骨架脚本:

#!/usr/bin/env perl

=head1 NAME

webapp-1 harness - webapp-1 test

=head1 SYNOPSIS

    webapp-1 [OPTION]

    -v, --verbose  use verbose mode
    --help         print this help message

Where OPTION is an integer governing the number of times the script should be run

Examples:

    webapp-1 10 

=head1 DESCRIPTION

This is test harness to verify jira issue WEBAPP-1

=head1 AUTHOR

skahmed@mmm.com

=cut

use strict;
use warnings;

use Getopt::Long qw(:config auto_help);
use Pod::Usage;

my $count = $ARGV;

main();

sub main {

    # Argument parsing
    my $verbose;
    GetOptions(
        'verbose'  => \$verbose,
    ) or pod2usage(1);
    pod2usage(1)unless @ARGV;

    while ($count) {
    printf "$count \n";
    # Here i want to run a perl script N number of times, with N being the ARGV to this command
    # capture( [0,1,2, $^X, "yourscript.pl", @ARGS );
    $count++;
    }
}

我也不能使用IPC :: System因为我无法在主机上安装它(ubuntu 12.04)我正在运行它。 我想要做的是开发一个perl测试工具,它将运行perl脚本来运行进程,监视数据库表等,我还可以根据执行结果来控制这些脚本的时序。 / p>

一种可能的解决方案:基于@ARGV

运行脚本N次
foreach (1..$ARGV[0])
    {
      print "hello \n";
    }

1 个答案:

答案 0 :(得分:1)

您不需要root privs来安装Cpan模块。

cpanm需要-l个选项才能安装到指定目录中,例如~/perl5/下。

然后在您的程序中使用local::lib模块将perl定向到您安装模块的位置。这很简单:

use local::lib '~/project/lib';

或者,如果您选择~/perl5/进行安装,只需:

use local::lib;

CpanMinus和local::lib都可以作为非root用户进行自举安装:

这些可以为您提供Cpan的强大功能,而无需服务器的sys-admin协助。