タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

mod_perlとperlに関するkazeburoのブックマーク (7)

  • 疑問:mod_perl と 後置 if と my - makogの日記

    #!/usr/bin/perl use strict; use warnings; { my $flg; { my $cnt = 1 if ( $flg ); $cnt++; print "Content-type: text/plain\n\n"; print join( ', ', $cnt, $$, \$cnt ); } } 1; 上記のような CGI を mod_perl(ModPerl::Registry)上で動かすと、Apacheのプロセス毎に $cnt がカウントアップされます。 なぜでしょう??? 誰か教えてください。 $cnt はレキシカルスコープなはずですよね。スコープが外れた {} の後で $cnt を使うと怒られます。なのに、なぜかグローバル変数のように共有されてしまいます。 そもそも、my $cnt = 1 if ( $flg ); はどのように動作するのでしょう

    疑問:mod_perl と 後置 if と my - makogの日記
  • Apache::Test事始め - D-6 [相変わらず根無し]

    Apache::Test事始め 年末前後からApache::Testで真面目にテストを書き始めている。 ところが全くドキュメントがないんだね。いや、あるんだけど、携帯の機能を使いたいだけなのにあの厚いマニュアル読むの?みたいな感じで。まぁというわけでとにかくざくざくっとドキュメント読んでテスト書いてたらようやくなんとなく分かってきた。この間ある程度他人にも説明できたので自信ついたしw Apache::Testはmod_perlハンドラをテストするときに使う。ディストリビューション等でmod_perlをテストしようと思うとApache自体を立ち上げたりなんだりしなければいけなくて「一体どうテストすればいいんじゃ?!」となりがちだが、Apache::Testを使うと、テスト用httpd.confの生成テスト用のapacheの起動/停止mod_perlハンドラ上で動かしたTest::More等の

  • Apache2::Reloadが失敗する問題に対するパッチ - ヒルズで働く@robarioの技ログ

    文章を修正しました。パッチの変更はありません。 Apache2::Reloadは、対象パッケージのシンボルを全て削除した上でリロードするようになっています。しかし、対象パッケージの外部から動的に定義されているシンボルを削除してしまうと、復元することができなくなってしまいます。DBIx::Classとか他にも色々、Class::Data::Inheritableのようなものを使っている場合は大抵この現象が起きます。 そこでApache2::Reloadに当てる動的パッチを作ってみました。このパッチを当てると、シンボルを全て削除してしまうModPerl::Util::unload_package_ppは使われなくなり、%INCからモジュール名のみが削除されるようになります。 PerlModule Apache2::Reload PerlInitHandler Apache2::Reload <

    Apache2::Reloadが失敗する問題に対するパッチ - ヒルズで働く@robarioの技ログ
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • whosenumbersearch.com - This website is for sale! - whosenumbersearch Resources and Information.

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    whosenumbersearch.com - This website is for sale! - whosenumbersearch Resources and Information.
    kazeburo
    kazeburo 2005/08/30
    日本語訳ほしぃ
  • startup.pl で require? - naoyaのはてなダイアリー

    use と require の話、まだ引っ張るのかよって感じですがもうちょっとだけ。del.icio.us で typester 氏からコメントがありました。 requireだけでも、startup.pl のような使い方すればいいよね? んで、一瞬「そうか、startup.pl で全部 reuiqre すればいっしょなのか」と思ったんですがよく考えてみると、その場合 reuqire でロードされるのって結局 startup.pl に書いたファイルだけですよね。 この方法だと、XML::Atom みたいに中で色々使ってるモジュールとかは、その中の実装を考えて全部 require する必要が出てきます。ソースの require な部分を舐めて require するようなロジックを startup.pl に実装するってのも変な話だし。ということでやっぱり use だよなあと。 勘違いかも。 そう

    startup.pl で require? - naoyaのはてなダイアリー
    kazeburo
    kazeburo 2005/08/30
    BEGIN{require DBI;} == use DBI ()。昨日調整してたところ
  • mod_perl 環境下でやっちゃダメなものをいくつか。

    mod_perl 環境下でやっちゃダメなものをいくつか。 exit システム関数 正確には CORE::exit ですけど、実行すると現在の Apache プロセス(nobody)が落っこちます。 当然 root の Apache は子プロセスを立ち上げなおすんで 余分なシステム負荷が掛かりますし、mod_perl のメリットである キャッシュ効果が得られない=普通のCGI実行より鈍足になるという、 なかなか致命的な結果になってしまいます(^^; これを避けるために、mod_perl 環境下では exit() 関数 が 定義されてるので、必要な場合には必ず丸括弧をつけませう。 ○ exit( 0 ); × exit 0; 同じことが、die システム関数 にも言えます。こっちは素直に 「use Carp」して「croak 関数」で代替したほうが安全だと思う。 #eval の中で CORE:

  • 1