14時43分13秒 [Perl/CGI]
Perlはずいぶん柔軟性の高い言語だと思います。それがメリットにもなったりデメリットにもなったりするわけで、また、書きやすかったり難しかったりするわけですが。そんなPerlでプログラムを書く上で、とりあえず記述しておくべき2行があります。
use strict;
use warnings;
最近は私も、Perlで何か書くときには必ず上記の2行を加えているのですけど、昔はこんなもん知らなかったので(^^;)、当サイト上で公開しているスケジュールCGIには、そんな記述は存在しません…。^^;;; 修正したいとは思うのですけどね。ずいぶんスパゲッティーなプログラムになっているので、全体を修正するのがなかなか大変。
「動きさえすればいい」と思っていたわけではないのですが、それでも、「この日までに完成させたい」という思いもあったりして、なかなか強引に書き進めてあるので、ずいぶん大変なソースになってます。^^; そもそも関数の分け方に明確な基準がないので、複数の関数に分割すべき処理が1つになってたり、別に1つの関数で良さそうな内容が複数の関数に分割されてたりします。^^;;;
「1カ所からしか呼ばれてない関数」は全部呼び出し元に含めんかい!という指摘がどっかであったような気もするのですが。そんな関数も結構多いと思います。^^;;;
とまあ、いろいろ問題はあるのですけども。それらが use strict と use warnings でいきなり解決したりするわけではないのですが(^^;)、それでも、種々の問題を未然に防ぐために、 use strict と use warnings は記述しておいて、表示されるエラーを全部つぶしておくのは大切なことです。というか、Perlでプログラミングする際の基礎のようですね。^^;
◆Perl/CGI辞典 - 土井 毅さん著 - にて use strict が推奨されていない件について(@iandeth.)
via Perl の話をまとめた(@naoyaのはてなダイアリー)
とりあえず、これから何かPerl使ってCGIでも書いてみましょうか、と思う人で、use strict とか use warnings の役割がなんなのか知らない場合は、とりあえず先にその意味を調べてみる方がいいんじゃないかと思います。
…ところで。
@niftyのWebスペースでは「use」が使えない、という話を聞いたことがあるんですが。とすると、「use strict」と書いただけでも、@niftyでは動かないんですかね?
この日記へのコメントはお気軽に! コメント数:6件
>こんなこと書くぐらいなら、ここでその意味を書いたらいいんじゃないかと思いますが、
>いかがでしょうか。
こんなコメント書くくらいなら、その時間でその意味を調べたらいいんじゃないかと思いますが、いかがでしょうか……?
投稿者 Anonymous : 2008年10月06日 02:14
「use ~」はまだ動作が保証されてないので、
使うにしても疑いは捨てないようにしましょう。
変数の名前の数が増えすぎると、ある日突然、
宣言なしで変数を使っても怒られなくなります。
バージョンによって再現されたり、されなかったり・・・。
一番いいのは、「use ~」を使いつつ、
当てにしなくても良い書き方をしたらよいのでは?
投稿者 Anonymous : 2008年12月11日 19:23
↑こんなコメント書くくらいなら、その時間でその意味を調べたらいいんじゃないかと思いますが、いかがでしょうか……?
調べる時間がもったいないので、
ここで書いておいて欲しいですね。もったいない。
投稿者 Anonymous : 2011年08月31日 10:12
> 調べる時間がもったいないので、
自分の時間は惜しむのに、ブログ主には時間を使って説明しろと要求する自己中心的さに気付かない人がたくさん居るんだなあ。
投稿者 Anonymous : 2011年09月01日 00:00
自身で調べる労力は惜しまないべきだと思います。
時間がもったいないというコメントも失礼です。
ブログは自己満足でいいと考えています。
ですがこのサイトが参考にされていることも事実です。
感想だけでなく意味を説明できるようになることも技術者として必要かと。。
とかいいつつ私もuse strict;warnings;とはと考えてこちらまで来た人間ですので説明できないのですが。。
投稿者 Anonymous : 2013年05月19日 01:10
コメント数: 6件
>とりあえず、これから何かPerl使ってCGIでも書いてみましょうか、
>と思う人で、use strict とか use warnings の役割がなんなのか知らない場合は、
>とりあえず先にその意味を調べてみる方がいいんじゃないかと思います。
こんなこと書くぐらいなら、ここでその意味を書いたらいいんじゃないかと思いますが、いかがでしょうか。
投稿者 Anonymous : 2008年10月05日 22:53