my $lag_detail; foreach my $line ( split( /\n/, $c ) ) { if ( $line =~ m/someregex/ ) { if ( exists $lag_detail->{ports} ) { push( @{ $self->{lags} }, $lag_detail ); } $lag_detail = { lagid => $lag, lagdesc => $4, operationstate => $3, adminstate => $2 }; } }