Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
Dear Monks,
I am parsing a tab delimited file. For each row I have 20+ variables. Some of them might be blank. For each variable I want to check if they are present; if so append them to corresponding list if not append "NA" to list. This is quite easy but require 20 if/else loops. Any idea on how to shorten it? Switch will help a bit but I was wondering if there is a way I can do in couple of lines. Simple short example below. Thanks for help!
($a, $b, $c, $d, $e, $f, $g) = split(/\t/, $Line); if ($a =~ /([A-Za-z0-9-_]+)/) { push(@a, $a); } else { push(@a, "NA"); } and 19 more
|
|---|