タグ

ブックマーク / blog.linknode.net (1)

  • Internals::SvREADONLY() はオススメできない - stfuawsc

    Immutable な hashref, arrayref たまに欲しくなりますが Internals::SvREADONLY() はクセが強すぎてあまりオススメできないです。 たとえ次のコードの挙動を言い当てられたとしても、赤の他人(≒ 半年後の自分)が見た時に分かるかどうかは怪しいかと。 use strict; use warnings; use Data::Lock 'dlock'; my $foo = { bar => "baz" }; dlock($foo); eval { my $b = $foo->{b} }; if ($@) { warn "oops: $@"; } else { warn "yay"; } 謎めいたランタイムエラー起こすよりも定数は全部サブルーチンとして記述してあった方がコンパイルに失敗してくれて嬉しい感じがします。 ちなみにConst::Commonとい

    soh335
    soh335 2014/04/21
  • 1