12.16 パッケージを間接的に参照する

実行時にならないと名前のわからないパッケージに含まれている変数や関数を参照する必要がある。ただし、$packname::$varnameのような構文は不正である。

  • シンボリックリファレンスを使用する。
{
  no strict "refs";
  $val = ${ $packname . "::" . $varname };
  @vals = @ { $packname . "::" . $aryname };
  &{ $packname . "::" . $funcname }("args");
  ($packname . "::" . $funcname) -> ("args");
}