Translate

2013年8月14日水曜日

perlの変更点が知りたい時

perldoc.jpに翻訳されたものがあるのでそちらを見るとよいと思います。

自分もあれって何のバージョンから変更されたっけ??
となるので、たまに参照します。
ということで、おもだったとこのリンクでもはっておきます。

perl v5.18.0 での変更点
→5.16.0 リリースと 5.18.0 リリースの変更点

perl v5.16.0 での変更点
→5.14.0 リリースと 5.16.0 リリースの変更点

perl v5.14.0 での変更点
→5.12.0 リリースと 5.14.0 リリースの変更点

perl v5.12.0 での変更点
→5.10.0 リリースと 5.12.0 リリースの変更点

perl 5.10.0 での変更点
→5.8.8 リリースと 5.10.0 リリースとでの相異点


ラクダ本や、リャマ本を読んでようやく、スタートラインにたち、
ネットから最新情報を取得してがんばろう!
とした矢先に あれ?この記述なんだ??
みたいなことはよくあるものですよね。
おまけに、ググラビリティが低くて見つかりにくいのです…
そんなわけで、気になったものを簡単に羅列してみます。

■+{} 波括弧の前のプラス
波括弧には、
関数を囲うためとハッシュのリファレンスの2通り使われるため
perlにこれはハッシュのリファレンスのための波括弧なんですよ。
ってことを知らせるために、+{}としている

■use 5.010; or use feature ':5.10'; or use feature 'say'

print "値¥n";
とした場合、いちいち改行文字なんぞくっつけていたと思いますが
say "値";
say関数であれば、改行文字を自動的にくっつけてくれる便利さんなんです。
という話をどこかでみかけたと思います。
そして、say関数を使うにはどうすればよいの?
とあちこち眺めてみると上記の記述にでくわすわけです。

use feature 'say';
は、5.10で追加になったsayという関数のみ使えるようにする記述の仕方

use feature ':5.10';
は、5.10で追加になった機能すべて使えるようにする記述

use 5.0.10;
は、5.10で追加になった機能すべて使えるようにして
かつそれ未満のバージョンのperlで実行しようとしたらすぐにエラーとなり停止させれます。

つまり、明示的にsayって関数だけがつかいたいだけなんですよ!!
他、あるかしらんしー
sayだけあれば幸せだしー
という場合は、use feature 'say';
とかけば、他の人が読んでも 他のものはつかっていないことがはっきりします。

ただ、5.12以降を指定すると use strictしたのと同等になり
いちいちuse strict; と書かなくてすむので
use 5.0.12; のように記述するのを好む人もいると思います。

という感じですかね。

0 件のコメント:

コメントを投稿