• ベストアンサー

ライブラリの;#

ライブラリを作ってをrequireして使おうと思っているのですが、 jcode.plとかは、なんでコメント行が『;#』から始まるんでしょうか? 『#』では、無いのですか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#25358
noname#25358
回答No.1

 作者の趣味であると思われます。  Perl では命令の最後に必ず「;」をつけなければいけません。  で、「;」が1つだけの行を空文といい、「何もしない命令」として処理されます。  コンパイラのレスポンスがわずかに(マイクロ秒単位で)悪化するので、俺だったらこういう書き方は避けますね。

petit-C
質問者

お礼

回答ありがとうございます。 >「何もしない命令」 そうなんですか。 なんだか、アセンブラのNOP見たいですね。 エラーがでそうだけど、エラーにならないみたいですね。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

昔のPerl処理系の中には コメントは「;#」と書かないと認識してくれないものがあったようです。 (「#」だけではコメント扱いにならない) その名残なのかと思いますよ。 私自身はPerl5以降のユーザなのでいつのことかは存じませんが。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • jcode.plアップロード不要の場合の設定変更

    CGI設置にあたり、設定変更で悩んでいます。 jcode.plがサーバーにプリインストールされているためアップロードは不要で、require 'jcode.pl'; と記載するようにとのことです。 require "./jcode.pl"; となっているものについては問題なかったのですが、 $jcode = './jcode.pl'; 中略 require $jcode; と記述されているものを、どのように書き換えたらよいのか分かりません。 ご教授のほど、どうぞよろしくお願い致します。

    • 締切済み
    • CGI
  • ライブラリ化するとメモリを圧迫する?

    perl で、数々の処理を一つのファイルにまとめて しまい、その都度、関数を呼び出して使う、という ライブラリ化 ( モジュール化? ) は常套手段だと 思うのですが、ひとつ気になってきました。 require "jcode.pl" ・・・みたいに、プログラムの頭の方でインクルード のようなことをします。するとそのファイルのサイズ 丸々がメモリに入るのでしょうか? つまり、ライブラリファイルが大きければ大きいほど メモリを圧迫し、処理速度に影響したり、何メガも あったりすると読みきれないとか、何かと影響は 出てこないものなのでしょうか。 いま、perl で組んでいて、一つのファイルにぜんぶ まとめてしまうのが心配になってきました。

    • ベストアンサー
    • Perl
  • jcode.plが読み込めない

    ホスティングを使用しています。 plファイルについて、以前のサーバはちゃんと動作していましたが、 新しいサーバで、jcode.plが読み込めないらしくInternal Server Errorが出てしまっています。 階層は httpdocs--test.pl |--cmn--jcode.pl にしています。 ログを見ると [error] Can't locate cmn/jcode.pl in @INC 17行目部分、つまりrequire 'cmn/jcode.pl';があるところがエラーになってます。 以前は読み込めているのに、新しいサーバでは読み込めていない。 ちなみに ・パーミッションはちゃんと変更していますtext.pl[755] ・httpdocs自体は.htaccessでpl自体は動作できています つまり、 require行を外すとページはきちんと表示されます。 となると考えられる原因はなんでしょうか? そして対策方法を教えて頂ければと思います。 よろしくお願いいたします。

  • requireしたライブラリにuseを記入

    メール送信のプログラムを作っています。 本体のプログラムmain.cgiから、 メール送信用のサブルーチンを記入した、 email.plというのを require 'email.pl'; とメール送信が必要な場合だけ読み込んでいます。 この email.plに use Encode; や use Jcode; のようにuse文を記入するのは、 Perlの作法としては適切なのでしょうか。 それともuse文はmain.cgiに記入するのが適切なのでしょうか。 email.plにuse文を記入しても動きますし、 main.cgiにuse文を記入した場合とベンチマークを比べたりしましたが あまり変わらないのですが、 useはコンパイルしたときに実行されるので、 実行のときに読み込まれるrequireしたライブラリに記入していいのか不安なのです。 私としては必要なときだけ読み込みたいので、 email.plにuse文を記入したいのですが。 どうぞよろしくお願いします。

  • No.616076に続けて質問です

    jcode.plを読み込みたく、 #!/usr/bin/perl require './jcode.pl'; としたところ、 Can't locate ./jcode.pl…というエラーが起きました。 どのような原因が考えられますでしょうか?

    • ベストアンサー
    • Perl
  • CGIでjcode.plを読み込めなくなりました

    さんざん検索をかけて色々試したのですが、どうしても解決できず どなたかご存知のかた、教えてください。よろしくお願い致します。 つい昨日までちゃんと動いていたCGIが突然 「jcode.plがありません」 と訴えてきました。 4月にサーバーを乗換え丸2ヶ月、問題なく動いていたのに 突然です。何がなんだか分かりません。 もちろん、このCGIに関わるファイルは一切いじっておりません。 自分なりに検討した結果 引っかかっているのは以下のコード # 漢字コード変換ライブラリを読み込む if (-f "jcode.pl") { require "jcode.pl"; } else { &errexit("jcode.plがありません。\n"); } -略- &jcode'convert(*tmp, $kcode_cgi); このふたつです。jcode.plを読み込めない為にもれなく後出の呪文が効かないんだろうなという事は推測しているのですが。 このためフルパスでも試しましたが変化なし。 この読み込みをしなければ、CGIは取りあえず表示します。 なので、日本語変換プログラム以外は正常に動作しているようです。 どなたか同じような経験の有る方いらっしゃいませんか? アドバイスよろしくお願い致します。

    • ベストアンサー
    • CGI
  • 非常に見にくいです.....

    このジャンルであっているかどうか微妙ですが質問させていただきます。 よくフリーのCGIやPHPなどのテキストファイルをダウンロードしたとき、アップロード時に転送モードが悪かったのかどうか知りませんが、よく #!/usr/bin/perl↑↑require './jcode.pl';↑require './cgi-lib.pl';↑↑..................... のように改行部がすべて↑になってますよねぇ? もし「戻りページ」など設定しなければならない部分があったりする時は非常に見にくくやりづらいのです。 そこでこの上の例を自動で #!/usr/bin/perl require './jcode.pl'; require './cgi-lib.pl'; に書き換えてくれるようなソフトがあったら教えて下さい!!

    • ベストアンサー
    • CGI
  • Jcodeモジュールの浸透具合

    CGIの勉強を始めたのですが、使っている入門書が2004年のもので、 「たいていのレンタルサーバーにはJcodeモジュールが入っていないのでjcode.plをrequireしたほうが無難」とかかれているのですが、 現在の状況はどうなのでしょうか? 個人的にはJcodeモジュールのほうが簡単なので好きなのですが、 jcode.plの勉強もしておかないと移転する際などに困りますか?

    • ベストアンサー
    • CGI
  • cgi-lib.plのReadParse関数

    あるパールからcgi-libを呼び出して、ReadParse関数を使おうとするとInternal Server Errorがでてしまいます。 パールの中身は #!/usr/local/bin/perl require 'cgi-lib.pl'; require 'jcode.pl'; &ReadParse(*in); です。 そこで3行目と5行目の行頭に#をつけて飛ばすとパールは正常に動きます。 これってcgi-lib.plのReadParse関数がいけないんでしょうか? ダウンロードしたまま何も変更していないのに..... ちなみにサーバーのパールのバージョンは5.004のようです。

    • ベストアンサー
    • CGI
  • 改行

    お世話になります。CGIの基本設定で改行をする方法がわかりませんので教えて下さい。よろしくお願い致します。 # ライブラリ取込 require './cgi-lib.pl'; require './jcode.pl'; # タイトル $title = "タイトル"; ・ ・ ・ 略 ・ ・ # 名前 @name = ('A','B','C','D','E','F','G','H','I','J'); 改行をしたい場所はEです。 それともここで改行はできないのでしょうか?

    • ベストアンサー
    • Perl