everyday life

Is that a bug?

After I updated “Apache, Perl, Mysql, and ImageMagick” last time, I have had errors “defined(%hash) is deprecated at ./lib/./lib/ line xxx” and “(Maybe you should just omit the defined()?)” on the Apache error.log.

Though I thought it depends on the Perl’s version, I felt some strange because I could not find any information on the net. But tonight I found out the below finally.

So, I changed two lines of
Line 684    &init_z2h_euc unless defined %z2h_euc;
                                   —–>>     &init_z2h_euc unless %z2h_euc;
Line 693    &init_z2h_sjis unless defined %z2h_sjis;
                                   —–>>      &init_z2h_sjis unless %z2h_sjis;

I also did and
Line 14     unless (defined %{“${subclass}::”}) {
                                   —–>>      unless (%{“${subclass}::”}) {
Line 404   if defined(%{$module . ‘::Lexicon’}) or defined(@{$module . ‘::ISA’});
                                   —–>>      if (%{$module . ‘::Lexicon’}) or (@{$module . ‘::ISA’});

These had no problems with the old perl, but the new one might become strict about them.

Leave a Reply

Your email address will not be published. Required fields are marked *