本文へスキップ
BecomeCoder

Perlのエラー · エラー5

Can't use string as an ARRAY ref ― 参照の取り違え

スカラを配列参照として使うなど、リファレンスの種類を間違えると出ます。

出るコード

use strict;
my $ref = "hello";
my @list = @$ref;   # 文字列を配列参照として展開

エラーメッセージ

Can't use string ("hello") as an ARRAY ref while "strict refs" in use at script.pl line 3.

直し方

配列参照は [ ... ] で作ります(my $ref = [1, 2, 3];)。ref($ref) で種類(ARRAY/HASH/CODE)を確認できます。