Perl: タブ区切りのデータを処理する方法

Perlで、タブで区切られたデータを処理する方法をメモっておく。

用途としては、さまざまであると思う。タブで区切ると、エディタで開いたときに見やすいというメリットがある。

手順

手順の概要は以下の通りである。

  1. データファイルを作成する
  2. ファイルを読み込み、処理する

1.データファイルを作成する

タブで区切ったデータファイルを作成する。テキストエディタで作成してもよいし、専用のプログラムを書いて作成しても良い。以下は、データファイルの例である。

Taro	24	man
Hanako	23	waman

2.ファイルを読み込み、処理する

ファイルを作成したら、あとはファイルを読み込んで処理するだけである。ポイントは、split関数を使って、データを区切ることである。以下に、サンプルプログラムを示す。

#!/usr/bin/perl

# データファイルをオープンする
open(IN, "data.txt");

# データファイルから1行ずつ読み込み処理する
while(<IN>){
	chop;
	($name, $old, $sex) = split(/\t+/,$_);
	print "名前:$name, 年齢:$old, 性別:$sex\n";
}

# データファイルをクローズする
close(IN);

split(/\t+/,$_) で、データファイルから読み込んだデータをタブで区切っている。そして、各変数($name, $old, $sex) に値を代入している。また、chop関数は、おまじないのようなもので、行の最後の文字(改行)を取り除いている。

また、タブと空白の両方を区切りで使用したい場合には、

split(/\s+/,$_)

とすればよい。

トラックバック(0)

このブログ記事に対するトラックバックURL: http://itsmemo.com/mt/mt-tb.cgi/48

※スパム防止のため、管理人がトラックバック内容確認後、公開されます。

コメントする