mieki256's diary



2020/08/15() [n年前の日記]

#1 [perl] Perlについて勉強中

Windows10 x64 2004 + IIS上で、Perlで書かれたCGIを動かせるように設定したついでに、今時のPerlについて少し勉強中。

Perlと言えば後方互換性を重視している言語と思い込んでいたのだけど、バージョンが上がるにつれて結構仕様が変わっていて、昔書かれたスクリプトが動かない状態になっていたりするようで。

先日引っ掛かった defined(@array)、defined(%hash) もソレで。Perl 5.16の頃は警告を出していたけれど、Perl 5.22 では致命的エラーとして扱われるようになったらしい。それぞれ、(@array)、(%hash) と書き直せばいいらしいけど。

@INC に「.」が含まれなくなったあたりも結構大きい。Perl 5.26 で変わったらしいけど。

_第46回 Perl 5.26で変わること(1):Perl Hackers Hub|gihyo.jp … 技術評論社
_第46回 Perl 5.26で変わること(1):Perl Hackers Hub|gihyo.jp … 技術評論社
_Perl 5.26への@INC問題にアップグレード前に対処しておきましょう - Perlゼミ
_'.' in @INC問題とその対処法について(2017年3月版) - Charsbar::Note

Strawberry Perl 5.30.3.1-x64-portable で、この日記ページのCGI(hns)を動かしてみたら、見事にエラーが出てしまった。とりあえず、エラーの出た .cgi の先頭に、解説記事にあった以下の記述を追加して動くように誤魔化してみたり。
BEGIN { push @INC, "." if $INC[-1] ne "."; }

Perlも変わっているのだな…。

以上です。

過去ログ表示

Prev - 2020/08 - Next
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 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project