Perl/Perlの基礎知識

Perl でファイルの中身を変更する(3ページ目)

Perl でファイルを開き、変更し、保存する方法を覚えます。

井上 みやび子

執筆者:井上 みやび子

Perlガイド

順に、先のサンプルプログラムの中身を説明します。

ファイルを開く open

my $fh;
open ($fh, '<:encoding(cp932)', 'text01.txt')
or die "ERROR: open: text01.txt: $!\n"
;
まず $fh という変数を宣言していますが、これは「ファイルハンドル」と呼ばれる役目をする変数です。ファイルはプログラムからすると「家の外」に当るのですが、「ファイルハンドル」はその外への扉の名前のようなものだと思って下さい。

Perl のファイルハンドラ

Perl のファイルハンドラ


次に、open というのがファイルを開くためのコマンドです。続けて指定するのは、「ファイルハンドル用変数」、「開く方向と文字コード」、「ファイルの名前」です。ファイルの名前は、先ほど保存したテキストファイル名「text01.txt」をシングルクオートで囲って指定してあります。

「開く方向」というのは、ファイルを読み込むか、または書き出すかの指定の事です。読み込むときは「<」、書き出す時は「>」か「>>」を指定します。

文字コードは、Shift_JIS で保存されたファイルを扱う場合は「:encoding(cp932)」と指定して下さい。

その下にある「or die "ERROR: open: text01.txt: $!\n"」の行ですが、これは「うまくファイルが開けなかったら、エラーを出力して終了する」という指定をしています。ファイルの入出力は何かとエラーの出やすい部分ですので、ファイルを開く時は必ずこのチェックを付けて下さい。

ファイルを読み出す <$fh>

さて、「開く方向」として「<」を指定しましたので、$fh は「入力用ファイルハンドル」となっています。

「入力用ファイルハンドル」を利用すると、ファイルの中身を読み出すことができます。それが以下の「while(<$fh>)」の部分で、ファイルの中身を1行ずつ読み込んで画面に出力しています。
while(<$fh>){
print $_;
}

ファイルを閉じる close

ファイルの読み込みが終わったら、close と ファイルハンドル使ってファイルを閉じます。
close $fh;

>次は:ファイルの出力
  • 前のページへ
  • 1
  • 2
  • 3
  • 4
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます