On Sat, Nov 30, 2002 at 01:54:48PM +0100, Gilles Lamiral wrote: > > > > Further research showed that the problem is with Text::ParseWords. > > it's a bug in perl's regexp code. run it under gdb and you'll see. a > > while ago gilles identified it and said he reported it to some perl lists, > > but i guess nothing ever happened. > > Yes. I reported it. > So now, it is now a 3 years old bug, not corrected :-(
Interesting, the same code works under perl 5.6.1, so I would say it is something introduced into 5.8.0. By the "same code" I mean this example: use Text::ParseWords; $o = q{'} . q{1} x 3527 . q{'} ; print "Source string: $o\n"; $l = length $o; print "string is $l bytes long\n"; @words = parse_line('\s+', 0, $o); It works with quoted string of any length in perl 5.6.1 but segfaults in regexp in perl 5.8.0 when qouted string (the part between '') is longer than 3526 characters. > Feel free to report it again or patch mon to avoid quoteword() use. I reported it to [EMAIL PROTECTED], it was assigned #18764. Unfortunately, I am not that big expert in C to fix regexp code in perl myself :-( I will try to find a workaround to avoid quoteword() in Mon::Client. Thanks, -Kastus -- Konstantin 'Kastus' Shchuka Unix System Administrator ePocrates Inc. tel 650.227.1786 fax 650.592.6995 _______________________________________________ mon mailing list [EMAIL PROTECTED] http://linux.kernel.org/mailman/listinfo/mon