Florian Weimer wrote:
This doesn't work because '\' is turned into '\\' by PostgreSQL, and not '\134': my $arg = shift; $arg =~ s!\\(\d{3})!chr(oct($1))!ge; Something like this might be better: my $arg = shift; $arg =~ s!\\(?:\\|(\d{3}))!$1 ? chr(oct($1)) : "\\"!ge; You need to do this in one go because pre-escaped backslashes like like '\\101' cause problems otherwise. (All ''-delimited strings in this posting use strict SQL syntax, i.e. no escaped backslashes.)
I think you're right, although that's rather ugly ;-) I'll commit this change for now, but if anyone comes up with a simpler recipe I'll be happy.
Also, it looks to me like I missed escaping \ on the way back, which I will fix.
cheers andrew ---------------------------(end of broadcast)--------------------------- TIP 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate