That particular warning comes about because this statement:
push @TEMP, $cur_amt, $past_amt;
towards the end of sub formatC2 is called with $past_amt undefined. You can fix this by providing $past_amt with a default value near the start of the subroutine:
$past_amt = '';
I tracked this down by looking at the contents of @OUTPUT after the first while loop finishes. As fishmonger says, you can use Data::Dumper or Data::Dump for this. I prefer Data::Dump:
use Data::Dump; ... while (<$fh>) { chomp; #Removes the control character my @LINES = split(/\n/, $_, -1); #Split on line break creating + array my @RECORDS = formatC2(@LINES); $OUTPUT[$seq_num] = [@RECORDS]; last; } close $fh; dd \@OUTPUT; exit(0);
The last ensures that I get only the first iteration of the while loop, and the exit helps me to see what I need to see (in this case, the contents of @OUTPUT) by omitting everything that comes after.
Hope that helps,
| Athanasius <°(((>< contra mundum | Iustus alius egestas vitae, eros Piratica, |
In reply to Re^3: Undef and Uninitialized Issue
by Athanasius
in thread Undef and Unitialized Issue
by Pharazon
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |