schms wrote:
I am trying to run the following system() command. It seems as Perl is not able to handover $POLICYNAME to the Unix shell
It *looks* like you are trying to hand over $POLICYNAME to /usr/openv/netbackup/bin/admincmd/bpplinfo and not to the shell.
Whether or not system() invokes a shell to run your command depends on the presence of shell meta-characters and/or the version of Perl that you are running.
and that the shell gets a problem with the strings - modify and -inactive as they contain a minus (-). Is there a way to run the command
On the command line you would put -- just after the command to indicate that everything following are not switches.
/usr/openv/netbackup/bin/admincmd/bpplinfo $POLICYNAME -modify - inactive from a Perl script ? (..) open(RDME, "$COMMAND |") or die "Error in: $!\n";
open RDME, '-|', $COMMAND or die "Error in '$COMMAND' $!\n";
while (<RDME>) { my $POLICYNAME = $_;
while ( my $POLICYNAME = <RDME> ) { chomp $POLICYNAME;
my @args = ("/usr/openv/netbackup/bin/admincmd/bpplinfo $POLICYNAME -modify -inactive"); system(@args);
my @args = ( '/usr/openv/netbackup/bin/admincmd/bpplinfo', $POLICYNAME, '-modify', '-inactive' );
0 == system @args or die "system @args failed: $?";
} close(RDME);
close RDME or warn $! ? "Error closing '$COMMAND' pipe: $!" : "Exit status $? from '$COMMAND'"; John -- Perl isn't a toolbox, but a small machine shop where you can special-order certain sorts of tools at low cost and in short order. -- Larry Wall -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/