http://qs321.pair.com?node_id=1207794


in reply to Re^2: Using a regex to replace looping and splitting
in thread Using a regex to replace looping and splitting

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, (?: ... ).