Thanks. I was hoping there was a way to enable individual operators through the postgresql configuration file or something.
Anyway, I replaced the functionality with $content =~ s/([a-fA-F0-9]{2})/chr(hex($1))/eg; which seems to be doing the same thing as unpack( "H*", $content ), which is basically what I needed for the time being. I suspect it's less efficient than unpack, and I hope the function I created won't be too slow for use inside a trigger. Thanks, Herouth On 12/09/2012, at 17:47, Tom Lane wrote: > Herouth Maoz <hero...@unicell.co.il> writes: >> I created a function that does some heavy string manipulation, so I needed >> to use pl/perl rather than pl/pgsql. >> I'm not experienced in perl, but the function works well when used as an >> independent perl subroutine - it depends only on its arguments. I use the >> Encode package (in postgresql configuration). > >> But my use of the "pack" function causes a Safe error. Apparently "pack" and >> "unpack" are in the operator mask. > >> Is there any way to remove them from that mask? > > My recollection is that they're intentionally excluded because they > would otherwise be security holes --- there are some format codes that > allow direct access to memory, or something like that. > > regards, tom lane -- חרות מעוז יוניסל פתרונות סלולריים מתקדמים ☎ 03-5181717 שלוחה 742