note
AnomalousMonk
<p>
Note that you have two very similar statements in the [id://11118431|OPed] code that are doing very different things:
<c>
my %lag_detail = ...; # single instance of this hash in scope
...
foreach my $line (...) ) {
if (...) {
if (...) ) {
# push ref. to OLD instance of a hash to anon. array in another hash.
push( @{ $self->{"lags"} }, \%lag_detail );
}
# change certain values in hash, but hash LOCATION does not change.
%lag_detail = ( "lagid" => $lag, "lagdesc" => $4, "operationstate" => $3, "adminstate" => $2 );
}
}
if (...) {
# create NEW instance of a hash in independent scope.
# this instance is TOTALLY INDEPENDENT of any other created in this scope.
my %port_detail = (...);
# push ref. to NEW instance to anon. array in another hash.
push @{ $lag_detail{"ports"} }, \%port_detail;
}
}
</C>
References be tricky.
</P>
<!-- Node text goes above. Div tags should contain sig only -->
<div class="pmsig"><div class="pmsig-634253">
<hr><p>Give a man a fish<b>:</B> <c> <%-{-{-{-<</C></P>
</div></div>
11118431
11118431