本文へスキップ
BecomeCoder

Perlのエラー · エラー8

Bareword found where operator expected ― カンマ忘れなど(構文)

リストやハッシュの要素の間にカンマ , を書き忘れると、次の単語(bareword)が演算子の位置に来たと解釈されて出ます。

出るコード

use strict;
my %h = (
    a => 1
    b => 2,   # 1 の後にカンマが無い
);

エラーメッセージ

Bareword found where operator expected at script.pl line 4, near "1 b"

直し方

near "..." に出ている単語の直前にカンマが無いか確認します。リストやハッシュの要素は必ずカンマで区切ります。