go ahead... be a heretic | |
PerlMonks |
Re^3: Using a regex to replace looping and splittingby Cristoforo (Curate) |
on Jan 24, 2018 at 02:55 UTC ( [id://1207794]=note: print w/replies, xml ) | Need Help?? |
Hi,
'Dumper' is exportwd by Data::Dumper. 'pp' is exported by Data::Dump. I think you are missing the distinction of the implied '$_' variable via the regex. it would look like my %hash = $_ =~ /([^|:]+):([^|:]+)(?:\z|\|)/g; You can just drop the '$_' in this case like he did. For your third question, the proper form using the '$big_string' var (instead of '$_') would be my %hash = $big_string =~ /([^|:]+):([^|:]+)(?:\z|\|)/g; For your last question, the regex captures the 2 colon separated values that are immediately followed by the end of string, ('\z'), or by a pipe. He writes that using a non-capturing group, (?: ... ).
In Section
Seekers of Perl Wisdom
|
|