print FILEHANDLE LIST

printにファイルハンドルを渡すことでファイルに出力できる。
その後ろにはリストを指定するのだが、文字列も1つのリスト見なせるので、今回も1つの文字列だけ出力。

Perlの組み込み関数 print の翻訳 - perldoc.jp

print.plで、

#!/usr/bin/perl

use strict; # 厳密な文法チェック.

# ファイルのオープン
my $ret = open(OUT, ">", "test.txt"); # "test.txt"を書き込みモードで開く.(ファイルハンドルはOUT.)
if ($ret){ # trueの時.
  print(OUT, "ABCDE"); # OUTに"ABCDE"を出力.
  close(OUT); # OUTをクローズ.
}

と書いて実行すると、

$ perl print.pl
No comma allowed after filehandle at print.pl line 8.
$

カンマはいらないと怒られる。

このように括弧もカンマも外してスペースだけにする。

$ perl print.pl
$ cat test.txt
ABCDE$

このように書き込まれる。
ハンドルを使う時のprintのこの挙動は不思議だ・・・。

Sample/perl/print/print_filehandle_list/src/print at master · bg1bgst333/Sample · GitHub