スポンサーリンク

Perlのリファレンスとデリファレンスを扱う覚え書き

久しぶりにPerlでプログラムを書こうとしたら、すっかり忘れてしまっていたので。

リファレンスを取得しよう

まずは通常の変数からリファレンスを取得する場合は変数名の前に\(環境によっては¥だったり\だったり)を付けてやればOK

無名の配列や連想配列(ハッシュ)からいきなりリファレンスを取得するには、配列の場合はブランケット([])を、ハッシュの場合はブレース({})使って、普通に配列や連想配列を作る感じで出来ちゃいます。

これでOK

デリファレンスしよう

普通にリファレンスを元の変数の形に戻すには、その変数を表すファニー文字をリファレンスを格納した変数の前に付けてやればOKです。

こんな面倒なことをしなくても、アロー演算子(->)を使って直接値にアクセスすることも可能です。

もしくは暗黙のデリファレンスを利用する方法もあります。

このリファレンスを格納した変数を囲っているプレース(上の例では →{$aRef}← )は省略可能($$aRef[0] と書いてもOK)なのですが、複雑な(ネストした)構造になっているものを扱う時なんか、Perlの処理系が混乱する(エラーになる)場合があるので、書くようにしておいた方が後々ハマらなくていい気がします。

もっとも、そんな複雑なデータを扱う場合は暗黙のデリファレンスは使わずに、アロー演算子を使うようにした方が、よっぽど幸せな気がしますが(^_^;)。

【関連エントリー】
 ・Perlで無名(変数|配列|ハッシュ|関数)を扱う際の覚え書き

スポンサーリンク
コメント
Verify your Comment
Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

コメントを投稿

プロフィール


  • 書いてる人:夢界 陸

    名古屋在住のおっさん。
    プログラミングやガジェットの話など、 日々の興味を徒然と綴っています。



    Twitterやってます @mukairiku

    運営サイト
    www.mukairiku.net

ブログ内検索

Licenses

  • Creative Commons License

OTHER

  • このブログのはてなブックマーク数

Blog powered by TypePad

スポンサーリンク