print関数の使い方(ファイルハンドルに対して文字列を出力する)
Perl で用意されている組み込み関数の一つである print 関数の使い方です。 print 関数は指定したファイルハンドルに対して文字列を出力します。
(2022 年 09 月 27 日公開 / 2022 年 09 月 27 日更新)
print関数の書式と基本的な使い方
print 関数は次のように定義されています。
print print([FILEHANDLE ]LIST)
ファイルハンドルに対して文字列を出力します。 パラメータ: FILEHANDLE ファイルハンドル LIST 出力する文字列のリスト 戻り値: 成功したら真(true)、失敗したら偽(false)
1番目の引数には文字列を出力する先のファイルハンドルを指定します。省略された場合は標準出力であるSTDOUTが使用されます。ファイルハンドルを指定する場合は開いているファイルハンドルを指定する必要があります。
2番目の引数には出力する文字列を指定します。複数の文字列を出力する場合はカンマ(,)で区切って続けて指定して下さい。
ファイルハンドルと出力文字列の両方を指定する場合には、カンマ(,)では無く空白で区切りますので注意して下さい。
具体的には次のように記述します。
print "テスト";
ファイルハンドルを省略した場合にはファイルハンドルとして標準出力が使用されますので画面に対して出力が行われます。
open(DATA, ">", "filename.txt"); print DATA "テスト"; close(DATA);
「open」関数を使用して書き込みモードでファイルを開き、ファイルハンドルを指定して書き込みを行った場合にはファイルハンドルに関連付けられたファイルに対して出力が行われます。(どのように出力されるのかはモードによります)。
print "テスト", "test", "\n";
複数の出力文字列を指定する場合にはカンマで区切って続けて記述して下さい。連続して出力されます。
※ファイル操作について詳しくは「ファイル操作」を参照して下さい。
では簡単なプログラムで確認してみます。
use strict; use warnings; use utf8; use open ":utf8"; binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)'; print "Hello\n"; print STDOUT "こんにちは\n"; my $name = "安藤"; my $old = 16; print $name, "=", $old, "\n"; open(DATA, ">", "data3-1.txt"); print DATA "sample"; close(DATA);
上記を「test3-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。
画面に対して出力を行った結果と、ファイルをを新規に作成し書き込みを行っています。新しく「data3-1.txt」ファイルが作成され次のような文字列が書き込まれています。
-- --
Perl で用意されている組み込み関数の一つである print 関数の使い方について解説しました。
( Written by Tatsuo Ikura )

著者 / TATSUO IKURA
プログラミングや開発環境構築の解説サイトを運営しています。