in reply to Re^2: better way to convert a string into an array and an hash
in thread better way to convert a string into an array and an hash
Simply because it gives you a free loop. I first saw this idiom about 10 years ago for decoding a cgi params into a hash. Something like
a substitution within a substiution!$p =~ s/(.*?)=(.*?)(&|$)/$v=$2;$v=~s/%(..)/chr(hex($1))/ge;$p{$1}=$v/g +e
I also thought it might be quicker but after a quick benchmark it seems not.
I suppose I could have used
for a free loop without destroying the string but isn't much faster.[/(\d+):(\d+)(?:,|$)(?{$hash{$1}=$2;push(@array, $1);1})/g];
|
|---|