6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Perlでファイル内に書いた文字複数行を<DATA>で参照・ループする方法

Last updated at Posted at 2015-10-02

perlでは、__END__あるいは__DATA__以降に書いた文字列は、無視されるようになっており、かつ、そこに書かれた内容は<DATA>というファイルハンドルで参照できるようになっています。

簡単なCSVやTSVフォーマットの文章をちょこちょこっと整形したいようなときに、僕はこの方法をよく使う(使っていた)のですが、久しぶりにやろうとしたら書き方を忘れてしまっていました。

(__DATA__<DATA>の部分の単語というか書き方が思い出せなかった)

「POD ファイル DATA 参照」とかでぐぐっても目当ての情報がヒットせず「何て検索したらいいんだろう^^;」状態になってしまい、なかなか見つけることができなかったので、僕が使った検索ワードを散りばめつつ記録に残しておきます。

書き方

use strict;
use warnins;
use utf8;

for my $line (<DATA>) {
    chomp $line;
    my ($id, $name) = split ',', $line;

    # ここに何らかの加工処理
}

# __DATA__を__END__と書いても動く。但しファイルハンドルの書き方は<DATA>のまま
__DATA__
1,山田
2,田中
3,川村
4,中村

参考記事

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?