in reply to ${^POSTMATCH} problem
It has nothing specifically to do with POSTMATCH, you just ran into the multi-concatenation optimization.
#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11118049 use warnings; use v5.10; sub add_incr_suffix { state $suffix = 'A'; return "prefix-TEXT-" . $suffix++; } print 'Test ' . ( add_incr_suffix =~ /^prefix-*/p ? "${^POSTMATCH}" : '' ) . "," . ( add_incr_suffix =~ /^prefix-*/p ? "${^POSTMATCH}" : '' ) . "," . ( add_incr_suffix =~ /^prefix-*/p ? "${^POSTMATCH}" : '' ) . "\n";
Here is a simpler example that produces different output under 5.26 and 5.30
#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11118049 use warnings; my $foo; print "test: " . ($foo = 1) . ($foo = 2) . ($foo = 3), "\n";
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: ${^POSTMATCH} problem
by LanX (Saint) on Jun 14, 2020 at 14:12 UTC | |
by ikegami (Patriarch) on Jun 14, 2020 at 15:34 UTC | |
by LanX (Saint) on Jun 14, 2020 at 16:01 UTC | |
by ikegami (Patriarch) on Jun 15, 2020 at 04:22 UTC | |
by ikegami (Patriarch) on Jun 15, 2020 at 04:26 UTC |
In Section
Seekers of Perl Wisdom