У меня есть PERL подпрограмма, которая при печати текста из таблицы оракула на отчете в формате PDF, и я хочу, чтобы ограничить количество строк, он записывает 4. Здесь есть подпрограмма:Как ограничить количество строк в Perl
sub printTextToPDF{
my ($left_pos, $line_height, $case_field) = @_;
my ($field_str, $line_pos) = ('', 0);
if($case_field =~ /(.*?)\\+$/) {
$case_field = $1;
}
my @field = split /\s/, $case_field;
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;
my ($strwidth1) = prStrWidth(substr($field_str, $line_pos),'Courier',5);
my ($strwidth2) = prStrWidth($field[$cnt+1],'Courier',5);
my ($totalwidth) = $strwidth1 + $strwidth2;
$field_str .= ($totalwidth < 124) ? ' ' : "\n";
}
}
@field = split("\n", $field_str);
for $pos (0 .. $#field) {
prText($left_pos, $line_height + (4.5*(scalar @field - ($pos+1))), $field[$pos]);
}
}
В настоящее время я использую функцию substr
в oracle SQL, чтобы ограничить количество символов, но это не лучший способ ограничить количество строк. Есть ли способ, которым я могу это сделать, если так, пожалуйста, покажите мне, как это сделать. Заранее спасибо.
В вашем запросе Oracle вы можете делать 'where rownum <= 4'? – Hambone
@Hambone - это просто ограничивает количество строк. Моя строка будет сохранена в одной строке, которую мне нужно распечатать в отчете PDF, и ограничить длину, чтобы не переместиться в указанное пространство. – user3224907
Gotcha. Мне интересно узнать, удовлетворит ли ваше решение решение SteveCarlson. Если нет, уточните пожалуйста. Я уверен, что здесь есть решение – Hambone