printAdjustedField(238, $LINE_POS, uc($RECS->[$i]{'EVENT_WHERE'}), 45); #45 is the length of one line sub printAdjustedField { my ($left_pos, $line_height, $case_field, $allowed, $align) = @_; my ($field_str, $line_pos) = ('', 0); if($case_field =~ /(.*?)\\+$/) { $case_field = $1; } my @field = split /\s/, $case_field; if($allowed == 0 || ((2.5*length($case_field)) - 1 <= $allowed)) { prText($left_pos, $line_height, $case_field, $align); } else { for $cnt (0 .. $#field) { $field_str .= $field[$cnt]; if($cnt != (scalar @field - 1)) { $line_pos = (rindex($field_str, "\n") > 0) ? rindex($field_str, "\n") : 0; $field_str .= (2.5*(length(substr($field_str, $line_pos)) + length($field[$cnt+1])) < $allowed) ? ' ' : "\n"; } } @field = split("\n", $field_str); for $pos (0 .. $#field) { prText($left_pos, $line_height + (6*(scalar @field - ($pos+1))), $field[$pos], $align); } } }