拙著「コーディングを支える技術」の11章では、オブジェクト指向が必須ではない言語を使って、一歩ずつオブジェクト指向に近づいていくことでオブジェクト指向を理解しようとしています。 ところが一番難しいところが終わってホッとしたのか、最後の一歩 p.196〜p.198 の説明が雑になってしまったようです。p.196〜p.198では階段に例えると3つの段差があります。しかし拙著では1段飛ばして2つしか説明していません。これはつまずきのもとなので、ここで補足説明をします 1段目 p.196では以下のコードにたどりつきました。これが階段の1段目です。このコードを、振る舞いを変えずに書き換えてみましょう。 # Perl { package Counter; sub new{ return {"value" => 0}; } sub push{ my $values = shift; $values->{