I knew Jeff would be the first one answering this one, too bad I could not bet on this.
You're the regex master:-) Etienne Jeff 'japhy' Pinyan wrote: > > On Nov 9, Robert Thompson said: > > >I am looking at the "Insert comma's into a number" script in > >Oreily's Perl Cookbook (pg 64) and have some questions. The script (more > >or less) is below followed by some output and questions: > > You copied it incorrectly, or there is a typo in the book: > > > $num =~ s/([0-9]{3}) (?=\d) (?!=\d*\.)/$1,/xg; > > That should be (?! \d*\. ), not (?!= \d*\. ). > > > >./foo.pl 10,000,000 > > 10,000,000 > > Why didn't it print 10,,000,,000? > > Why would it double the commas? The algorithm is this: > > 10000000 > reverse the number > 00000001 > get the next three digits > 000xxxxx > that are followed by another digit > 0000xxxx > and that are not followed by any number of digits and a period > (ok) > place a comma after the three digits > 000,00001 > get the next three digits > xxxx000xx > that are followed by another digit > xxxx0000x > and that are not followed by any number of digits and a period > (ok) > place a comma after the three digits > 000,000,01 > get the next three digits > (fail) > (done) > > -- > 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 ** > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]