Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. 演算子
  3. here

無名ハッシュ生成子 - ハッシュのリファレンスを作成

Perlには無名ハッシュ生成子「{}」という演算子があります。名前はちょっと難しいですが、実用的には、簡単にハッシュのリファレンスを作成するためのものです。

無名ハッシュ生成子を使うと、以下のように簡単にハッシュのリファレンスが作成できます。

# 無名ハッシュ生成子
my $point = {x => 1, y => 2};

もし無名ハッシュ生成子を使わない場合は、次のように書きます。まずハッシュを作成してから、リファレンス生成子を使って、ハッシュのリファレンスを作成します。

# 無名ハッシュ生成子を使わない場合
my %point = (x => 1, y => 2);
my $point = \%point;

無名ハッシュ生成子を使うと、上の処理を省略して書くことができるんです。{x => 1, y => 2}を見た時は、上の処理が省略されているという感覚を持つと理解しやすいと思います。

どうして「無名ハッシュ生成子」というの?

無名ハッシュ生成子を使うと「%point」というハッシュを作成する必要がありませんね。つまり、内部的に「%point」に該当する「無名のハッシュ」が作成されているのです。

きっと、この部分に焦点を当てて命名されたのでしょう。

無名ハッシュ生成子に対応して無名配列生成子というものあります。

  • Perlとはテキスト処理の記述性とパフォーマンスに優れ、正規表現が言語に組み込まれているプログラミング言語です。
  • Linuxサーバーでのフィルタリングプログラム、複数行の文字列を処理、ファイル内容の検索・置換などが得意
  • Perlはgitopensslなど広く普及したUnix/Linuxミドルウェアの補助ツールとして採用実績あり。後方互換性とポータビリティの高さがひとつの理由と推測。
  • 大量のテキストを扱うWeb開発も得意。ロングテールSEOを意識したWebサイト、アドテクやソーシャルゲームでの50ms以内のJSONの生成など。