利用の是非については原則的に作者の裁量に任せるが、どこまで制限するか という閾に関して次のような*目安*がある。 a. 一切使用禁止とする。 b1. CGI.pm (及びその付属モジュール群) のみを利用可とする。 b2. 標準モジュールのみを利用可とする。 c. CPANで配布されている等、ある程度の知名度を獲得しているモジュール なら利用可とする。 d. 制限を設けない。 HTML の出力など定型文で字数を食われるプログラムで a. を採用すると 「面白くない」かも知れない。;) d.を採用した作品は 2006/01/12 現在確認されていない。極短いコードで 収めるという趣旨上、d.を採る場合は相応の説得力がある作品で無ければ 他の作者に受け入れられ難い事が予想される。 ---- これって、 モジュールの他にも、外部コマンドやWEBサービス(SOAP等)を利用する場合についても同様の事がいえると思います。 外部モジュールの利用は普通、コードの長さを競い合う場合は反則扱いされますが、 コードを書いてる人にとって関心があるのは、(おそらく) 見かけ上の文字数の多い少ないではなく、コード短縮のテクニックやアルゴリズムなので、 そういった視点から見ると外部リソースの効果的な使い方のノウハウなんかもあってもいいんじゃないかな?(モジュール利用の賛否に関わらず) コード短縮テクニック(番外編? 選択ルール) - モジュール/ライブラリの利用 (do, require, use ...) - 外部プログラムの利用 (``, qx//, system, パイプ等) - 外部リソースの利用 (実行時のオプションにデータをもたせる、 __DATA__) あと、evalやinline系のモジュールを使い、 __DATA__以降にメインの処理書いたりするのも。ずるいけど。 個人的に受け入れられないだろうと思うのは、 モジュールやライブラリの関数を呼んでいるだけのコード。 ---- 私は「厳しい制約の中でどこまで(使える|面白い)ものが作れるか」に 興味が向いていて、その目的を達成する為の手段として如何にコードを 短くするかを追求しています。容量 560Byte のコップにできるだけ 濃いジュースをなみなみと注いで飲み干したいわけで、コップに半分も 入っていなかったり、薄いジュースだと満足できないのです。濃縮すれ ばその分沢山注げるから縮めるのであり、雑味を取り除いた方が美味し いからアルゴリズムを最適化するのであり。 なので外部コマンドやモジュールを大量に使っていても、それが美味し ければ個人的には OK ですし、厳格なルールで作られていても不味かっ たり少なければ楽しめません。良い物を作る人、もしくは作ろうとする 人に共感します。 まぁそういう参加者も居るという事で。