On Jul 23, Jeff 'japhy' Pinyan said:

>  if (length($str) > 85) {
>    $str =~ s/(.{0,85})(?<=\S)(?!\S).*/$1/s;
>  }

That can be

  $str =~ s/(.{0,84}\S)(?!\S).*/$1/s;

>  use Regexp::Keep;
>  $str =~ s/.{0,85}\K(?<=\S)(?!\S).*//s;

And that would be

  $str =~ s/.{0,84}\S\K(?!\S).*//s;

The Regexp::Keep module doesn't present NEARLY the same speed increase as
the actual patch I've made to Perl (which is more than twice as fast as
without \K), but it lets you use the handy syntax.

-- 
Jeff "japhy" Pinyan      [EMAIL PROTECTED]      http://www.pobox.com/~japhy/
RPI Acacia brother #734   http://www.perlmonks.org/   http://www.cpan.org/
** Look for "Regular Expressions in Perl" published by Manning, in 2002 **
<stu> what does y/// stand for?  <tenderpuss> why, yansliterate of course.
[  I'm looking for programming work.  If you like my work, let me know.  ]


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to