タグ

ブックマーク / fbis.hatenablog.com (2)

  • Perlにおける定数宣言(constant or Readonly or Attribute::Constant) - Unknown::Programming

    正直言いますと、個人的には定数って殆ど使わないんですよね。 昔はちょこちょこ使ってたんですが、最近は定数となりうる物は基的にYAML等外部ファイルに持たせて変更可能にすることが多いのでまったく使ってません。 ですがそれでもPerlで定数を使いたい時にはどーすんの?っていう時のために軽くここにまとめておきます。 言わずもかなPerl5.8にはconstantという定数を定義できる標準モジュールがあります。 use strict; use constant PI => 3.14; # 表示 print PI; # 3.14 # 上書きしようとすると・・・ PI = 3; # Can't modify constant item in scalar assignment とこのように上書きしようとするとエラーを吐いて死にます。 しかも実行時ではなく、コンパイル時にエラーを吐きます。 実はこのc

    Perlにおける定数宣言(constant or Readonly or Attribute::Constant) - Unknown::Programming
    antipop
    antipop 2009/06/15
  • Catalystのhome取れなくて急にハマった - Unknown::Programming

    久しぶりにCatalystを触ってハマったのでメモ。 ある環境では動くのに別の環境に移したら急にmyapp.ymlが読み込めなくてエラーになったんだけど、どうやらhomeの値がヘンな値になってるっぽい感じだったので急いでたのもあってとりあえずMYAPP_HOMEという環境変数にhomeのパスを直指定してなんとか動くようになったわけです。 元の環境ではMYAPP_HOMEなんて使わなくてもちゃんとhomeの自動取得がうまくいってたのにおかしーなーなんでかなーと思ってたわけですよ。 で、まぁ次の日Catalystのソースを見てびっくり。 homeの取得はCatalyst.pmのsetup_homeメソッドで行われています。 # Catalyst-v5.7011 sub setup_home { my ( $class, $home ) = @_; if ( my $env = Catalyst

    Catalystのhome取れなくて急にハマった - Unknown::Programming
    antipop
    antipop 2007/11/27
    これ僕もはて☆すたアンケート作ってる時だかにハマった……。
  • 1