私は本当に古いperlシステム(約8-10歳)を持っていますが、大きなもの(100+ pmファイル)を持っています。何らかの理由で、それを段階的に "改造"する必要があります。私は成し遂げる何をしたい最初の自分のプラグマを古いperl swに追加する正しい方法
一つは、すべてのモジュールに私のプラグマを挿入です:
use MySw::PerlDefs;
Modern::Perlのようなものが含まれていますどのようなおよび/またはこの質問のように:How to make "use My::defaults" with modern perl & utf8 defaults?
QST1:お勧めの方法は何ですか? use MySw::PerlDefs;
を追加
ので
package MySw::SomePackage; use MySw::PerlDefs; #my new "pragma"
を取得したり、パッケージ宣言の後に、BEGINブロックに囲まPerlDefsを追加しますか?例えば:
package MySw::SomePackage; BEGIN {use MySw::PerlDefs;} #my new "pragma" in the BEGIN block
質問:
- 好ましい方法は何ですか?
- 違いおよび/または欠点は何ですか?
シモンズ:私はコンパイル時にexectuted BEGINよりも理解が、上記の文脈で - それは「簡単な使用」以上で良いですか?
[ 'Package'を使用](http://perldoc.perl.org/functions/use.html)は' BEGIN {必要とするパッケージと同じです。パッケージ - >インポート()} ' –
アップグレードされたPerlを、おそらくperlbrewでインストールすることはできませんか?いくつかの現代的な機能は、古いPerlのバージョンでは利用できませんでした(例えば、 '= =')。新しいバグの修正 – DavidO
プラグマを既存のアプリケーションにパッチするだけではうまくいきません。つまり、100以上のモジュールはそれほど大きなものではありません。 1000+があります。 – duskwuff