そんなバカなセニョリータ!!

Perlにも少し慣れてきたのでだんだんワンライナーで試すことが増えてきたぜ.

$ perl -e 'use Data::Dumper; my $foo; print Dumper($foo); print "set\n" if (defined($foo->{foo})); print Dumper($foo);'
$VAR1 = undef;
$VAR1 = {};

値変わらないでよ!! わからなくはないけど気づかなかったじゃないか!!

とりあえず根元から丁寧に見ろってことじゃろうか.

$ perl -e 'use Data::Dumper; my $foo; print Dumper($foo); print "set\n" if (ref($foo) && defined($foo->{foo})); print Dumper($foo);'
$VAR1 = undef;
$VAR1 = undef;
$ perl -e 'use Data::Dumper; my $foo; print Dumper($foo); $foo = {}; print "set\n" if (ref($foo) && defined($foo->{foo})); print Dumper($foo);'
$VAR1 = undef;
$VAR1 = {};
$ perl -e 'use Data::Dumper; my $foo; print Dumper($foo); $foo = {foo => "foot"}; print "set\n" if (ref($foo) && defined($foo->{foo})); print Dumper($foo);'
$VAR1 = undef;
set
$VAR1 = {
          'foo' => 'foot'
        };