Re: ôÒÁ×Á ÐÅÒÌ...ÆÓ

Greg Belenky greg на webzavod.ru
Сб Сен 27 18:49:24 CDT 2003


sub greg {
  my ($width, $str) = @_;
  my $i = 0;
  my @wrap = ();
  foreach (split /\s+/, $str) {
    unless (length( $wrap[$i] ) + length() + 1 <= $width) {
      while (length( $wrap[$i] ) < $width) {
        if ($wrap[$i] =~ /(\S)(\s)/sg) {
          substr($wrap[$i], (my $p = pos( $wrap[$i] ))-1, 1) = $2x2;
          pos( $wrap[$i] ) = $p;
        } else {
          pos( $wrap[$i] ) = 0;
        }
      } $i++;
    } $wrap[$i] .= ($wrap[$i] && ' ') . $_;
  } return join "\n", @wrap;
}

з.ы.
ну... не знаю, как Данила и что тестил и сравнивал - у меня прально работал
только вариант Жени Скачкова (прально перевел с англицкого?)

--
Григорий "Grishace" Беленький
http://search.cpan.org/author/GRISHACE/





Подробная информация о списке рассылки Samara-pm