Как вызвать сценарий оболочки с переменными аргументами из сценария perl? - PullRequest
0 голосов
/ 15 февраля 2011

Perl-код выглядит как -

sub report_generation($)
{

Shell_sh $ARGV[0] $conn_string $pm_dir/$FILE

}

$ARGV[0] -- > command line argument of perl script

$conn_string --> used in perl script value define in perl script 

my $USR=$ARGV[1];
my $PSS=$ARGV[2];
my $INS=$ARGV[3];
my $conn_string=$USR."/".$PSS."\@".$INS; 


$pm_dir/$FILE --> want to give file name with file path "$pm_dir/$FILE"


my $pm_dir="$ENV{'ABP_PM_ROOT'}/interfaces/output/report/$date";
my $FILE= 'FILE_NAME_'.$ARGV[0].'_'.get_timestamp().'.dat';


my $db_conn =DBI->connect( 'dbi:Oracle:'. $INS, $USR, $PSS, {AutoCommit => 0 })|| ExitProcess4 (1,$Function_Name ,$DBI::err, $DBI::errstr );

report_generation($db_conn);

Ответы [ 2 ]

2 голосов
/ 15 февраля 2011

Используйте массив для хранения аргументов, а затем:

system @array;

У этого механизма есть ряд преимуществ - в частности, вам не нужно избегать всего, чтобы предотвратить интерпретацию аргументов оболочкой доВы называете это.

2 голосов
/ 15 февраля 2011

См. system () или ``

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...