print関数:ファイルハンドルに対して文字列を出力する

Perl で用意されている組み込み関数の一つである print 関数の使い方です。 print 関数は指定したファイルハンドルに対して文字列を出力します。

(Last modified: )

print関数の書式と基本的な使い方

print 関数は次のように定義されています。

print
print([FILEHANDLE ]LIST)
ファイルハンドルに対して文字列を出力します。

パラメータ:
  FILEHANDLE  ファイルハンドル
  LIST  出力する文字列のリスト
戻り値:
  成功したら真(true)、失敗したら偽(false)

省略可能な 1 番目の引数には文字列を出力する先のファイルハンドルを指定します。省略された場合は標準出力である STDOUT が使用されます。ファイルハンドルを指定する場合は開いているファイルハンドルを指定する必要があります。

2 番目の引数には出力する文字列を指定します。複数の文字列を出力する場合はカンマ(,)で区切って続けて指定して下さい。

ファイルハンドルと出力文字列の両方を指定する場合には、カンマ(,)では無く空白で区切りますので注意して下さい。

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

print "テスト";

ファイルハンドルを省略した場合にはファイルハンドルとして標準出力が使用されますので画面に対して出力が行われます。

print "テスト", "test", "\n";

複数の出力文字列を指定する場合にはカンマで区切って続けて記述して下さい。連続して出力されます。

open(DATA, ">", "filename.txt");
print DATA "テスト";
close(DATA);

open 関数を使用して書き込みモードでファイルを開き、ファイルハンドルを指定して書き込みを行った場合にはファイルハンドルに関連付けられたファイルに対して出力が行われます。(どのように出力されるのかはモードによります)。

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

サンプルコード

それでは簡単なサンプルを作成します。

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 $price = 200;

print $name, "=", $price, "\n";

open(DATA, ">", "data.txt");
print DATA "ごぼう";
close(DATA);

テキストエディタでプログラムを記述したあと sample.pl という名前で保存します。(文字コードは UTF-8 です)。コマンドプロンプトを起動し、プログラムを保存したディレクトリへ移動したあとで次のように実行します。

perl sample.pl

次のように実行結果が表示されます。

print関数:ファイルハンドルに対して文字列を出力する(1)

ファイルハンドルを省略した場合や STDOUT を指定した場合は画面に対して出力が行われます。開いたファイルのファイルハンドルを指定した場合は、そのファイルに対して出力が行われます。プログラムの実行後に data.txt ファイルを開くと文字列が書き込まれているのが確認できます。

print関数:ファイルハンドルに対して文字列を出力する(2)

-- --

Perl でリストを作成する方法について解説しました。

-- --

Perl で用意されている組み込み関数の一つである print 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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