my @prog = ( $^X, "--", "-", @parms ); #### #ThisScript use IPC::Run qw( run timeout ) ; my $CalledScript = "print qq(hello\n Argument=\$ARGV[0]\n);"; my $out; #my @prog = ("perl"); my @prog = ( $^X, "--", "-", "Passed-Parameter" ); run \@prog, \$CalledScript, \$out; foreach(split /\n/,$out){ print "$_;\n"; } ===== This prints out : hello; Argument=Passed-Parameter;