テキストファイルの内容を表示するサンプルコードです。重要な部分についてはコードの後でコメントします。
サンプルコード
変数 $filename に格納されたファイル名のファイルを開いて全行を表示する処理です。
#!/usr/bin/perl
use strict;
use warnings;
# ファイル名を変数に格納
my $filename = "example.txt";
# ファイルをオープン。失敗した場合はエラーメッセージを出力して終了(1)
open( FILE, '<', $filename ) or die "ファイル '$filename' をオープンできませんでした: $!";
# ファイルの内容を読み込み(2)
while (my $line = <FILE>) {
# 改行文字を削除(3)
chomp($line);
# 必要であれば読み込んだ内容を編集する
# 行の内容を表示(4)
print "$line\n";
}
# ファイルハンドルをクローズ(5)
close(FILE);
(1)第3引数で指定されたファイルを開きます。第1引数はファイルハンドル、第2引数は読み出しを表す記号です。
(2)ファイルハンドルをHTMLタグのように<FILE>と書いています。このようにすると、ファイルハンドルに関連付けられたファイルから1行読み込みます。読み込んだ内容を$lineに格納します。
(3)引数で指定された変数から改行文字を削除する関数です。
(4)(2)で読み込み(3)で加工した文字列に改行文字を付加してコンソールに表示します。今回は改行文字の削除と追加ですが、実際は(3)と(4)の間に、実際に処理したい内容を記述します。
まとめ
本記事では、Perlを使用してテキストファイルの内容を1行ずつ表示するサンプルコードを紹介しました。