Further digging: the backtrace from the SIGSEGV looks like
#0 0xc00a02fc in ?? () from /usr/lib/libc.1malloc + 1132
#1 0xc267cbb4 in ?? ()Perl_sv_grow + 244 from /opt/perl5.6.1/lib/5.6.1/PA-RISC2.0/CORE/libperl.sl
#2 0xc26815b0 in ?? ()Perl_sv_setpv + 312 from /opt/perl5.6.1/lib/5.6.1/PA-RISC2.0/CORE/libperl.sl
#3 0xc26152c0 in ?? ()S_incpush + 288 from /opt/perl5.6.1/lib/5.6.1/PA-RISC2.0/CORE/libperl.sl
#4 0xc2615110 in ?? ()S_init_perllib + 136 from /opt/perl5.6.1/lib/5.6.1/PA-RISC2.0/CORE/libperl.sl
#5 0xc261092c in ?? ()S_parse_body + 2396 from /opt/perl5.6.1/lib/5.6.1/PA-RISC2.0/CORE/libperl.sl
#6 0xc260fc88 in ?? ()perl_parse + 272 from /opt/perl5.6.1/lib/5.6.1/PA-RISC2.0/CORE/libperl.sl
#7 0xc09ec5d0 in plperl_init_interp () at plperl.c:207
#8 0xc09ec4a4 in plperl_init_all () at plperl.c:175
#9 0xc09ec684 in plperl_call_handler (fcinfo=0x7b011418) at plperl.c:240
#10 0x132808 in ExecMakeFunctionResult (fcache=0x402cf108, arguments=0xf000, econtext=0x1, isNull=0x3a <Address 0x3a
outof bounds>, isDone=0x7b03ba30) at execQual.c:825
Since gdb doesn't really know anything about code generated by HP's cc,
it's difficult to get any more info than this. However, the fact that
the crash is inside malloc() suggests a memory clobber very strongly.
My best theory at this point is that there's some conflict of ideas
about the size of data structures, perhaps triggered by those missing
-D symbols ...
regards, tom lane