Perl 警告 "Useless use of a variable in void context at ..." これはどんな意味なのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/02/14 21:31:43
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:tmasao No.1

回答回数77ベストアンサー獲得回数20

ポイント60pt

Perl式中に書いた変数が値として参照されるような使われ方がされない場合に出る警告メッセージですね。

たとえば、一行に変数だけを書いてしまったりとか...。

$a;

ほかの例は以下のURLなどをどうぞ:

http://perldoc.jp/docs/perl/5.6.1/perldiag.pod#item_Useless_use_...

id:radio3

ありがとうございます!

該当行は

$value = shift or $default;

でした。

$value = shift || $default;

に変えたら出なくなりました。

$value = shift or die "Missing ...";

を多用したせいか、何度見ても全く気が付きませんでした。

ありがとうございました。

2008/02/14 21:31:01
  • id:b-wind
    $value = shift or $default;
    これだと、
    $value = shift
    が実行されて、$value の値が偽なら
    $default が評価される。
    ここで警告が出ているわけですね。
    おそらく予定している動作とも違うでしょうし。

    $value = ( shift or $default );
    なら問題ないと思います。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません