You appear to be passing undefined values to your trim routine. If you want to substitute an empty string for undefined values, test with defined. if (!$_) is true for 0 and undefined values and your code was substituting an empty string for either. I think you only wanted the substitution for undefined values.
59 for(@out) {
60 #next if !($_);
61 if (!defined $_) { $_ = ""; }
62 s/^\s+//;
63 s/\s+$//;
64 s/\|//g;
65 s/\n//g;
66 s/\cM//g;
67 s/\r//g;
68 }
---
print map { my ($m)=1<<hex($_)&11?' ':'';
$m.=substr('AHJPacehklnorstu',hex($_),1) }
split //,'2fde0abe76c36c914586c';
|