On Fri, 14 Jan 2005 07:11:30 +0000, Andrew Black <[EMAIL PROTECTED]> wrote: > Can someone explain how lookaheads work and give an example of using one > Cheers
I find the full names of these regex constructs to be quite enlightening: "zero-width (positive|negative) look-(ahead|behind) assertion". So for example, one way to "commify" numbers is: __CODE__ #!/usr/bin/perl use strict; use warnings; my @numbers = (100, 1000, 2536); for my $number (@numbers) { my $commified = commify($number); print "before:\t$number\nafter:\t$commified\n---\n"; } sub commify { my ($num) = @_; $num = reverse $num; $num =~ s/(\d{3}) # match 3 numbers (?!=,) # not followed by a comma (?=\d) # followed by another digit /$1,/gx; # stick a comma after what we matched return reverse $num; } __END__ HTH, Dave -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>