return;
}
- my %column_lengths;
- my $first_row = 1;
+ my %column_lengths = map { $_, length $_ } keys %{ $results->[0] };
foreach my $row (@{ $results }) {
- if ($first_row) {
- map { $column_lengths{$_} = length $_ } keys %{ $row };
- $first_row = 0;
- }
-
map { $column_lengths{$_} = length $row->{$_} if (length $row->{$_} > $column_lengths{$_}) } keys %{ $row };
}
my @sorted_names = sort keys %column_lengths;
my $format = join '|', map { '%' . $column_lengths{$_} . 's' } @sorted_names;
- $prefix =~ s|\s*$||;
- $prefix .= ' ' if $prefix;
+ $prefix .= ' ' if $prefix;
$self->message($level, $prefix . sprintf($format, @sorted_names));
$self->message($level, $prefix . join('+', map { '-' x $column_lengths{$_} } @sorted_names));