Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. 標準関数
  3. here

scalar関数 - スカラコンテキストで評価

scalar関数を使用すると、スカラコンテキストを強制することができます。

# スカラコンテキストで評価
scalar 実行文

たとえば配列をスカラコンテキストで評価すると配列の個数が取り出せますが、scalar関数を使って明示的に書くと以下のようになります。

# 配列の個数
my $count = scalar @values;

scalar関数は使わなくってよい?

プログラムを工夫して書けばscalar関数を使わないでプログラムを書くことができます。

たとえば、サブルーチンの引数に値を渡す場合は、変数を経由して渡すようにします。

# 配列の個数を直接渡す
foo(scalar @values);

# 配列の個数をスカラ変数に保存してから渡す
my $count = @values;
foo($count);

変数名を上手につけると自己説明的になって、プログラムが読みやすくなります。多くの場合は、scalar関数を使うよりは、変数に一度代入してから、他の場所で使うのがお勧めです。

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