strict プラグマについて

| 0 Comments | 0 TrackBacks | このエントリーをはてなブックマークに追加 このエントリーのはてなブックマーク件数

友達が以前、日記で「use strict; って何でデフォルトでオンになってないの?」と言うことを書いていたのを見て、そういえばどうしてなんだろうと思ったのを思い出したので、書いてみる。(use すると strict プラグマが効くようになるモジュールとかはありますね。moose とか。そういう需要はあると言うことですよね)

perl を始めた方は、知り合いに勧められて始めた場合、「とにかく use strict; を宣言しておくといいよ」と言われて付けていたり、フリーで配布されてる掲示板スクリプトを改造していて、「use strict; した方が良いっぽい」と思ってやってみたらエラーの嵐でさんざんな目にあったりしてい(る|た)人も多いかと思います。後者は昔の僕ですが。

まぁ、use strict をするとなぜいいのかは tomyhero さんがすでに書いているので、そちらを参照してください。

「use strict; って何でデフォルトでオンになってないの?」

言われてみれば確かに。何でなんでしょうか?
よく Perl を使っていて、Perl の黒魔術的なところも知っている人なら、strict を無効化しないと出来ない処理があることは理解されてますよね。でも、そういうときは "no strict;" として局所的に strict プラグマを無効化出来ることも知っているはず。

デフォルトがオンで必要なところで no strict するのであれば、理にかなってるような気もしますよね。

ただ、ここまではスクリプトやモジュールを書くときの話で、ワンライナーのユーザがデフォルトで use strict オンだと面倒なのかなーとか想像してます。
いちいち my 書くの面倒だよねとか、そんな感じなのかなーとか考えてみたんだけど、どうなんでしょうか?あくまで僕の考えです。

誰か答えを知っていたら教えてください!

追記

tomyhero さんの記事に理由が書いてあったのを突っ込まれました >_<("もう一つの使い方"ってところ)

感謝というのはいいですよね。なんか色んな人の意見聞いてみたい!

No TrackBacks

TrackBack URL: http://perl-mongers.org/MT/mt-tb.cgi/68

Leave a comment

About this Entry

This page contains a single entry by vkgtaro published on July 8, 2008 12:17 AM.

実用! 画像でブックマーク数を返すSBMからブックマーク数を数値で取得 was the previous entry in this blog.

何時でも何処でも携帯で「はてなスター」チェック is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Categories

Pages

Creative Commons License
This blog is licensed under a Creative Commons License.
Powered by Movable Type 4.21-en