Looks at my logs, this error is caused by the
setting__get_currencies function of modules/Settings.sql returning
the currencies array as a string, such as {GBP,USD,EUR} or {GBP},
where the LedgerSMB/DBObject/Company.pm module is expecting it to be
an array ref. Is this a functionality difference between PostgreSQL
8 and 9 in the way that data is returned? I can't see anything in
DBobject.pm exec_method or LedgerSMB.pm call_procedure that turns
{...} into an array ref (I may have missed something), but lots of
SQL code uses string_to_array? Apache logs: [Sat Mar 29 22:03:57 2014] [error] [client 192.168.1.10] Can't use string ("{GBP,USD,EUR}") as an ARRAY ref while "strict refs" in use at LedgerSMB/DBObject/Company.pm line 439., referer: http://centos.cosmicnetworks.com/ledgersmb/menu.pl?login=cosmic&action=""> [Sat Mar 29 22:05:56 2014] [error] [client 192.168.1.10] Can't use string ("{GBP}") as an ARRAY ref while "strict refs" in use at LedgerSMB/DBObject/Company.pm line 439., referer: http://centos.cosmicnetworks.com/ledgersmb/menu.pl?login=cosmic&action=""> [Sat Mar 29 22:05:56 2014] [error] [client 192.168.1.10] Compilation failed in require at customer.pl line 8., referer: http://centos.cosmicnetworks.com/ledgersmb/menu.pl?login=cosmic&action=""> [Sat Mar 29 22:05:56 2014] [error] [client 192.168.1.10] Premature end of script headers: customer.pl, referer: http://centos.cosmicnetworks.com/ledgersmb/menu.pl?login=cosmic&action=""> Lyle |