This is probably simple but I am not able to wrap my head around this one -
I have a subroutine that checks to see if a status is 0 yet - what I would like is loop through until the status returns 0. How would I do this?
# Code to loop sub routine checkCopyStat
?????
#sub routine
sub checkCopyStat {
my $clTyp = shift;
$status = 0;
open OUT, ">/usr/local/emc/bin/temp.txt" or die "unable to open fil
+e: $! \n";
my $name = "LUN 120 DB"; # for test purposes
my $navicmd = `naviseccli -address $spa -user $nviusr -password $nv
+ipwd -scope global clone -listclone -Name "$name" -cloneid $copies{$c
+lTyp} -Clonestate -PercentSynced`;
print OUT "$navicmd"; #put contents into a temporary file
close(OUT);
open FILE, "< /usr/local/emc/bin/temp.txt" or die "unable to open f
+ile: $! \n";
my %hash;
while (<FILE>) {
my ($col1, $col2) = (split /:/, $_)[0,1];
chomp($col1,$col2);
if(!$col1) {next;}
if(!$col2) {next;}
$hash{$col1} = $col2
}
foreach my $key(%hash) {
if($hash{'CloneState'} =~ /Consistent/) {
$status = 0;
}elsif($hash{'CloneState'} =~ /Synchronizing/) {
$status = $hash{'PercentSynced'};
} else {
print "State Unknown for clone\n";
$status = -1;
}
}
close(FILE);
unlink('/usr/local/emc/bin/temp.txt');
return($status);
}
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|