[EMAIL PROTECTED] wrote: > > I facing one issue in Perl script. I am executing one command in Perl > script and taking the output of that command in one array. Now I want > to execute some more commands on each value of the array. > > But the problem is that I am passing each value of the array as a > argument to that function but somehow it is not taking that value. > > The output of the perl script is: > > > *bash-3.00# perl backup.pl* > */vob/test* > *Locking VOB 0* > *cleartool: Error: Unrecognized command: "lock:0"* > *Locking of VOB 0 failed* > > * * > > Now what I want is I need value “/vob/test” instead of 0. > > Please find the attached perl script.
It would be easier for this list if you posted your code in line. Your original code was > #! /usr/bin/perl > > # Perl script to take the backup of critical clearcase data > > @vob_lst=system("/usr/atria/bin/cleartool lsvob -s"); > > foreach $a (@vob_lst) > { > &lock($a); > } > > sub lock() > { > print "Locking VOB $a\n"; > `/usr/atria/bin/cleartool lock:$a`; > if($?){print "Locking of VOB $a failed\n";} > else{print "Locking of VOB $a done\n"; > } > } and I suggest something like this might work better (untested). HTH, Rob #! /usr/bin/perl use strict; use warnings; my @vob_lst = qx(/usr/atria/bin/cleartool lsvob -s); chomp @vob_lst; foreach my $a (@vob_lst) { lock($a); } sub lock { print "Locking VOB $a\n"; my $result = qx(/usr/atria/bin/cleartool lock:$a); if ($?) { print "Locking of VOB $a failed\n"; } else { print "Locking of VOB $a done\n"; } } -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] http://learn.perl.org/