in reply to Re^3: regex renaming with existing files
in thread regex renaming with existing files
There is a very important difference between pre increment and post increment operators. Consider:
use strict; use warnings; my $counter = 1; print "With ++\$counter was 1 and returns ", ++$counter, "\n"; print "\$counter now contains: $counter\n\n"; $counter = 1; print "With \$counter++ was 1 and returns ", $counter++, "\n"; print "\$counter now contains: $counter\n";
Prints:
With ++$counter was 1 and returns 2 $counter now contains: 2 With $counter++ was 1 and returns 1 $counter now contains: 2
See it? With pre increment (++$counter) the increment happens before the value is returned so you get the updated value. With post increment the value before incrementing is returned. If you are not using the returned value it doesn't matter which version you use in terms of how the code works, but it does make a difference to how easily the code is understood. Because we tend to take more notice of the first things on a line sticking the operator out the front makes it more visible and thus easier to understand.
|
|---|