Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl

__DATA__ - データセクション

__DATA__より下に書かれたものは、データセクションと呼ばれます。データセクションを利用すると入力ファイルの内容を、プログラムの中に記述することができます。


# プログラム

__DATA__
kimoto,39
tanaka,29

DATAファイルハンドル

データセクションに記述された内容は、DATAという特殊なファイルハンドルを使って読み込むことができます。


while (my $line = <DATA>) {
  print "$line";
}

__DATA__
kimoto,39
tanaka,29

編集したいテキストデータを、データセクションにコピーアンドペーストして、DATAファイルハンドルで読み込んで編集すれば、作業が楽です。

__DATA__とDATAファイルハンドルのサンプル

__DATA__とDATAファイルハンドルのサンプルのサンプルです。

use strict;
use warnings;

# カンマをタブに変更
while (my $line = <DATA>) {
  chomp $line;
  my @items = split(/,/, $line);
  
  print join("\t", @items) . "\n";
}

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