忍者ブログ

04

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
□    [PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

CGIのエラーで

defined(%hash) is deprecated at jcode.pl line 684. (Maybe you should just omit the defined()?)
defined(%hash) is deprecated at jcode.pl line 693. (Maybe you should just omit the defined()?)


というのが出てしまう。
原因はPerlのバージョンアップ?5.10までくらいなら問題ない。らしい。

1.Perlのバージョンダウン
2.エラーのあるdefined部分の削除

のいずれかで解決するっぽい??

参考
perlのバージョンを5.10から5.12に上げたら、jcodeのエラーが出るようになった。
CGI全体でエラー(コメント欄に回答?がある)




で、jcode.plからエラーのあったdefinedの部分を削除しようとしたけどうまくいかず、というかどこまで削除していいのかわからなくて不安だったので、他の対処法を探している時に、Perl5.12.xで生じるエラー「defined(%hash) is deprecated」に対する修正を含んだjcode.plファイルを添付してくれているのをみつけた。
ここの掲示板  のRe3記事に添付されてるファイルをダウンロードして、その中のjcode.plファイルだけを拝借して、自分の動かしたいCGIのjcode.plと置き換える。

エラーの出たところを抜き出すと
-------------------------------------------------------------------------------
&init_z2h_euc unless defined %z2h_euc;  (684行目)

&init_z2h_euc unless defined $z2h_euc_inited;


&init_z2h_sjis unless %z2h_sjis;  (693行目)

&init_z2h_sjis unless defined $z2h_sjis_inited;
-------------------------------------------------------------------------------
ってなってる。
PR
Name

Title

Mailadress

URL

Font Color
Normal   White
Comment

Password
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字

忍者ブログ/[PR]

Template by coconuts