We need to do two things. First call the first program, and collect its exit value, then use the exit value as a parameter to the second program. To call an external program and collect the exit value, we use the system function. Note what perldoc -f system has to say:
The return value is the exit status of the program as returned by
the "wait" call. To get the actual exit value divide by 256.
...
Return value of -1 indicates a failure to start the program (inspect
$! for the reason)
So, start off with this code fragment:
my $exit1 = system "program1"; if ($exit1 == -1) { die "Failed to call 'program1': $!\n"; } $exit1 >>= 8; # Get the real-exit value. The bits we # are shifting off are any possible signals.
And now we can call the second program. Any additional arguments to system will be arguments to the called program. We get:
my $exit2 = system "program2", $exit1; if ($exit2 == -1) { die "Failed to call 'program2': $!\n"; }
Abigail
In reply to Re: How to get value from one Perl program to another?
by Abigail-II
in thread How to get value from one Perl program to another?
by sachinb
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |