On Thu, Nov 21, 2002 at 02:47:59AM +0100, A. Pagaltzis wrote:
> * Dave Arnold <[EMAIL PROTECTED]> [2002-11-21 02:45]:
> > $str = join ', ', @names;
> > if ( length($str) > 90 )
> > {
> >   substr($str,rindex($str,",",90)) = ", etc.";
> > }
> 
> Nice, and so obvious too - in retrospect, of course.
> 
> The only thing I don't like about it is it still joins
> everything, even if it only needs 3 out of 10,000 elements.

Perhaps:

my $str = shift @names;
$str .= ', '.shift @names while 90 > length $str;
substr($str, rindex($str, ',', 90)) = ", etc." if 90 < length $str;

Paul

-- 
Paul Makepeace ....................................... http://paulm.com/

"What is the meaning of meaing? A female grizzly and her cub."
   -- http://paulm.com/toys/surrealism/

Reply via email to