On Tue, Jul 1, 2014 at 6:39 PM, Toby Corkindale <toby.corkindale@xxxxxxxxxxxxxxxxxxxx> wrote: > Hi Alex, > your example (chr(0x100) =~ /\\xa9/) works on my instance (pg 9.3.4, plperl 5.18) > However the following code fails: > => do $$ "\N{U+263A}" =~ /[[:punct:]]/$$ language plperl; > ERROR: Unable to load utf8.pm into plperl at line 1. > BEGIN failed--compilation aborted. > CONTEXT: PL/Perl anonymous code block > > Oddly, even if I add utf8 to plperl.oninit, I then get an error about being unable to load the 're' (regex) module. I don't understand how the example you gave does manage to work! Strange, seems to works for me with 5.20: => do $$ "\N{U+263A}" =~ /[[:punct:]]/$$ language plperl; DO Time: 12.928 ms => show plperl.on_init; plperl.on_init ──────────────── (1 row) Time: 0.786 ms => show plperl.on_plperl_init; plperl.on_plperl_init ─────────────────────── (1 row) One thing you might try is plperl.on_plperl_init = "require 'utf8_heavy.pl'; require unicore/Heavy.pl'; or maybe just plperl.on_plperl_init = 'use Unicode::UCD;' If that still fails, You might find the attached useful, it tires to preload all the unicore files. You should be able to stick it somewhere and plperl.on_plperl_init = '/path/to/unicore_preload.pm'. However, hopefully one of the first suggestions will work..
Attachment:
unicore_preload.pm.gz
Description: GNU Zip compressed data