Colum One Header
Column Two Header
Etcetera
####
use HTML::TokeParser;
sub parse_column_list {
my ($str) = @_;
my $p = HTML::TokeParser->new(\$str);
my (@cl, $label, %attr);
my %attr_default = ( na => 0 );
while(my $t = $p->get_token) {
if ($t->[0] eq "S" and $t->[1] eq "column") {
$label = '';
%attr = (%attr_default, %{$t->[2]});
} elsif ($t->[0] eq "E" and $t->[1] eq "column") {
push @cl, { %attr, label => $label };
} else {
if($t->[0] eq "T") {
$label .= $t->[1];
} else {
$label .= $t->[-1];
}
}
}
return \@cl;
}