From 48fefa2bee2e67743f8056dea93eed2ccf28653a Mon Sep 17 00:00:00 2001 From: Teddy Wing Date: Wed, 25 May 2022 02:22:51 +0200 Subject: incdec.pm: Extract number matching regex to a variable So it can be re-used in both the find and the replace steps without being duplicated now that it's become more complicated. --- incdec.pm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/incdec.pm b/incdec.pm index f35c963..0ec0ab5 100644 --- a/incdec.pm +++ b/incdec.pm @@ -27,10 +27,12 @@ sub incdec { $point_position ||= 0; $is_backward ||= 0; + my $number_regex = '-?([1-9]\d*|0\D|0$)'; + my $start_position = 0; my $previous_match_start = 0; my $i = 0; - while ($line =~ /(-?([1-9]\d*|0\D|0$))/g) { + while ($line =~ /($number_regex)/g) { if ($is_backward) { # Set start position to the current match start. This gives us the # correct start position when incrementing the last number in a @@ -64,7 +66,7 @@ sub incdec { } pos($line) = $start_position; - $line =~ s/\G(-?([1-9]\d*|0\D|0$))/$1 + $increment_by/e; + $line =~ s/\G($number_regex)/$1 + $increment_by/e; return ($line, $start_position); } -- cgit v1.2.3