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.)

-- 
Florian Weimer                <[EMAIL PROTECTED]>
BFK edv-consulting GmbH       http://www.bfk.de/
Kriegsstraße 100              tel: +49-721-96201-1
D-76133 Karlsruhe             fax: +49-721-96201-99

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to