2013年6月6日木曜日

Perlでハッシュ定数

今更ながらにPerlというモノを使い始めました
(去年の夏くらいに「Perlとか楽だよー便利だよー」って言われてたのにね)
Macだと標準で使えるってのもありますが

今日1日使ってみてCSVのデータ変換とかはできたので
次はもうちょっと高度なことをやってみたい
ということで、ハッシュの定数をやってみました

Perlの基礎とか知らずに使ってるので
間違った情報や説明があるかもしれません

通常ハッシュは
my %hash = ( "name" = "taro", age = 15 );
のように初期化しますが

定数の場合は
use constant hash => { "name" => "taro", age => 15 };
のようになります

ハッシュから値を取り出すには
print "${hash()}{\"name\"}\n";
となります
"name"のダブルクオーテーションの前にバックスラッシュが入っているのは
printのダブルクオーテーションが切られないようにするためです
通常のように取り出すことができないのは
constantは関数のように扱われるため
()で正しく関数として認識させたものを
{}でハッシュとして認識させます
C#で言うキャストみたいなことかな?

constantのハッシュでも入れ子構造にできるので
色々と使えそうです

#なんか定数の入れ子構造ってあまり意味ないってどこかで読んだような…?

ビルドなしで実行できるとかは結構便利です
ファイルの変換とか毎回R/Wファイルを指定するの面倒なんでここらへんが何とかなれば…
#直接コードの中にパス書いちゃってるわけですが。。

0 件のコメント:

コメントを投稿