Sayed, Irfan (Irfan) wrote:
> Here is my code
>  
> # Perl script to change the replica name
>  
>  use strict;
>  use warnings;
>  
> 
> # my $fname  = "/tmp/vob_list1";
> # open FILE,">",$fname or die $!;
> # my $fname1 = "/tmp/repl_list1";
> # open FILE1,">",$fname1 or die $!;
>  
>  my $CT = '/usr/atria/bin/cleartool';
>  my $MT = '/usr/atria/bin/multitool';
>  
>  my @vob_list = `$CT lsvob -s`;
> # print FILE @vob_list;
> foreach my $a (@vob_list)
> {
> my @repl = `$CT lsreplica -s -invob $a`;
> my @repl1 = grep { /cmvobsvr1mum/i } @repl;
> #print FILE1 @repl1;
> }
> print  @repl1;
> my @vob_rep = splice(my @repl1, -50);
> print @vob_rep;
>  
> 
> #close FILE1;
>  
> I already declared the @repl1 in foreach loop.

You need to declare @repl1 *outside* of the foreach loop for it to be seen
outside of the foreach loop:

my @repl1;
foreach my $vob ( @vob_list ) {
    @repl1 = grep /cmvobsvr1mum/i, `$CT lsreplica -s -invob $vob`;
    }
print @repl1;


Or don't use a foreach loop:

my @repl1 = map {
    grep /cmvobsvr1mum/i, `$CT lsreplica -s -invob $_`
    } @vob_list;



John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to