「ある Perl スクリプトで、ある環境変数を使ってる可能性があるのだけれどどこでどう使ってるのかわかなくて」と言われたので、どこで %ENV から値を読んでいるか探してみることにした。なんか簡単にフックできなさそうなので、ついカッとなって %ENV を tie した。 だいたいこんな感じ。 #!/usr/bin/perl use warnings; use strict; package CarpFetchHash; use Carp qw/carp/; sub TIEHASH { bless {%ENV}, shift; } sub FETCH { carp 'FETCH: $ENV{' . $_[1] . '}'; $_[0]->{$_[1]}; } # 必要なら EXISTS, FIRSTKEY NEXTKEY も package main; tie %ENV, 'CarpFetc