in reply to split unless escaped
perl -e '$_ and push @v, $_ for (split /(?<!\\)(\\\\)*&/, "a=1&b=2\\&3 +&c=4"); print join "\n", @v' [download]