My perl expertise is bit shallow, but I could not find much regarding bugs related to such behavior, or maybe I did not look enough.
Playing around with this, "s+", "s{1,}", s{2,}" all of these combinations where we are searching for more than 1 space result in the hanging command, but we really only need to look for a single space before the 'version', so maybe we can just do the below, which works? - $dump =~ s {(^\s+'version',) '\d+'::integer,$} + $dump =~ s {(^\s{1}'version',) '\d+'::integer,$} -- Sami