# Check if any text to display
unless( defined( $text) and length($text) > 0 )
{
- carp "Warning: No input text found. Trying to add dummy '-' and not to break everything.\n";
- $text = '-';
+# carp "Warning: No input text found. Trying to add dummy '-' and not to break everything.\n";
+ $text = ' ';
}
# Strip any <CR> and Split the text into paragraphs
for( my $row_idx = 0; $row_idx < scalar(@$data) ; $row_idx++ )
{
- push @header_row_widths, [] if $row_idx < $header_props->{num_header_rows};
+ #push @header_row_widths, [] if $row_idx < $header_props->{num_header_rows};
my $column_widths = []; #holds the width of each column
# Init the height for this row
$rows_height->[$row_idx] = $cell_font_size;
}
+ if (!defined $data->[$row_idx][$column_idx]) {
+ $data->[$row_idx][$column_idx] = ' ';
+ }
+
# This should fix a bug with very long words like serial numbers etc.
- if( $max_word_len > 0 )
+ if( $max_word_len > 0 && $data->[$row_idx][$column_idx])
{
$data->[$row_idx][$column_idx] =~ s#(\S{$max_word_len})(?=\S)#$1 #g;
}
if( ref $header_props and $header_props->{'repeat'})
{
- for my $idx (0 .. $header_props->{num_header_rows} - 1) {
- unshift @$data, [ @{ $header_rows[$idx] } ];
- unshift @$row_col_widths, [ @{ $header_row_widths[$idx] } ];
- unshift @$rows_height, $header_row_heights[$idx];
- }
+ unshift @$data, @header_rows;
+ unshift @$row_col_widths, @header_row_widths;
+ unshift @$rows_height, @header_row_heights;
$remaining_header_rows = $header_props->{num_header_rows};
}
}
# Added to resolve infite loop bug with returned undef values
for(my $d = 0; $d < scalar(@{$record}) ; $d++)
{
- $record->[$d] = '-' unless( defined $record->[$d]);
+ $record->[$d] = ' ' unless( defined $record->[$d]);
}
# Choose colors for this row