While underscore is at the end by ASCII ordering, it's only character
left after the letters, and groups are certainly more balanced if it's
put at the beginning with other punctuation.
['A'..'M'], ['N'..'Z'],
['a'..'m'], ['n'..'z'],
);
['A'..'M'], ['N'..'Z'],
['a'..'m'], ['n'..'z'],
);
-my @chars2 = (@chars, ['_']); # trailing character (extended set)
+my @chars2 = (['_'], @chars); # trailing character (extended set)
print '<table><col>';
print qq'<colgroup span="$_">' for map {scalar @$_} @chars2;
print '<table><col>';
print qq'<colgroup span="$_">' for map {scalar @$_} @chars2;