skillup

技術ブログ

Perl

Perlでの変数、配列、ハッシュに関して ~リファレンスなど~

投稿日:

こちらのブログでプログラミングを教えてるんですけど、プログラミングの基本といえば配列とオブジェクト指向だと思います。

もちろん、これ以外のことも大切ですが、初心者のうちはここを抑えておけばとりあえず何とかプログラムは書けるようになります。

最近はPerlをやることになりましたので、今回はPerlの配列について学習します。※配列といってもハッシュも含みます。

Perlでの変数、配列、ハッシュの定義

基本的な変数、配列、ハッシュの定義の仕方です。

特段解説する必要もないかもしれないですが、Perlでの各データの定義方法です。

リファレンスとデリファレンス

昔はよくわからなかったのがこれです。

リファレンスとはつまり参照のことですね。

データそのものではなく、データを指しているもののことです。

Perlではこれを表現するのに、\をつけるだけで大丈夫です。

出力してみるとわかるんですが、データのタイプ(SCALAR,ARRAY)などの後に、意味不明な番号がかかれていますね。

これがメモリのアドレスを指しているわけです。

また各要素にアクセスする場合は→を使ってアクセスすることができます。

ちなみにここからデータ自体を復元することをデリファレンスといいます。

復元の仕方は上記の通りです。元のデータの演算子を書けばいいだけですね。

無名配列と無名ハッシュ、ハッシュを含んだ配列の定義

実務ではこのリファレンスを使ってデータをやり取りすることが非常におおいですね。

そのため実務でよく出てくる無名配列の定義の仕方や、無名ハッシュなどよく使われるものを下記に書いておきます。

なお、「業務に役立つPerl」を参考にしました。

-Perl
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Perlの配列、ハッシュ系の処理 (mapを中心に)

昨日書いたgrepに続き、mapについて調べたことを書いてみました。 Contents1 mapとは?2 mapを使った配列処理 基本3 mapを使った配列、ハッシュ処理 ハッシュを含む多次元配列への …

no image

Perlでの日付処理

Perlで翌月の月末を求め、yyyyMMddで表示する計算があったので対応。 知識がなかったんで何気にちょい時間がかかりました。PerlではこのDateTimeというライブラリがよさげ。 [crayo …

no image

PerlでのCSV取込+金額のカンマ表示

CSV取込の場合、単純にカンマで区切って配列を取得するだけのロジックを実装すると様々な弊害が起きます。 よく見られるパターンとしては下記のようなケースでしょう。 フィールドの中に、カンマがあった場合、 …

no image

Perl整形ツール Perl Tidy

PHPでコード整形ツールを使いましたが、Perlでも整形ツールがあったのでちょっとメモ。 Perl::Tidyというモジュールです。 公式 http://perltidy.sourceforge.ne …

no image

Vagarant+Eclipse(Perl)での作業環境構築

現在の案件でPerlの改修があるんですが、windowsだとモジュールの依存関係でうまくコンパイルできなかったりといろいろとトラブルが起こったんで、今はやりの仮想環境でやることに。 まだ完ぺきではない …