close関数

広告

「close」関数は開いているファイルハンドルを指定してファイルを閉じます。

※ファイル操作について詳しくは「ファイル操作」を参照して下さい。

ファイルハンドルを指定してファイルを閉じます。

パラメータ:
  FILEHANDLE  ファイルハンドル
戻り値:
  ファイルを閉じることに成功したら真(true)、失敗したら偽(false)

1番目の引数にはファイルとのコネクションに対して割り当てるファイルハンドル名を指定します。開いているファイルハンドルを指定する必要があります。引数が省略された場合は現在使われているファイルハンドルを使用します。

具体的には次のように記述します。

open(DATA, "filename.txt");
close(DATA);

サンプルプログラム

では簡単なプログラムで確認して見ます。

test2-1.pl

use strict;
use warnings;
use utf8;
use open ":utf8";
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

open(DATAFILE, "< data.txt") or die("Error");

if (close(DATAFILE)){
  print "ファイルは閉じるのに成功しました¥n";
}else{
  print "ファイルは閉じるのに失敗しました¥n";
}

if (close(DATAFILE)){
  print "ファイルは閉じるのに成功しました¥n";
}else{
  print "ファイルは閉じるのに失敗しました¥n";
}

上記を「test2-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。

close関数

なお「data.txt」と言うテキストファイルをプログラムと同じディレクトリに設置しています。このファイルの文字コードはUTF-8(BOM無し)です。

開いていないファイルハンドルを閉じようとすると失敗します。

( Written by Tatsuo Ikura )