IT系のネタ中心 チャレンジしたことやつまづいたことを載せたいと思います このブログのコンセプトは"ハッキングの為なら愛する家族を傷つけることをいとわない" ハッカー(ホワイト)を目指しているとっとこ駆け出しエンジニアです
sudo cpan Devel::Peek sudo cpan Devel::Cycle
use 5.010; use strict; use warnings; use Devel::Peek; my $a = ''; # REFCNT = 1 Dump $a;
$a = undef; # REFCNT = 1 Dump $a;
my $copy_a = $a; # REFCNT = 1 Dump $a;
my $ref_a = \$a; # REFCNT = 2 Dump $a;
if (1) { my $ref_a2 = \$a; # REFCNT = 3 Dump $a; } # REFCNT = 2 Dump $a; # REFCNT = 1 $ref_a = ''; Dump $a;
use 5.010; use strict; use warnings; use Data::Dumper; use Devel::Cycle; # 無名ハッシュリファレンス my $a = {key_b => undef,}; my $b = {key_a => undef,}; # 無名ハッシュリファレンスのアドレスが代入されている say $a; # 無名ハッシュのアドレスからデリファレンスした値 say Dumper $a; say $b; say Dumper $b; # 循環参照させる $a->{key_b} = $b; $b->{key_a} = $a; say '######################'; say Dumper $a; say Dumper $b; say '######################'; # $a, $bともに循環参照が発生しているので、出力される find_cycle($a); find_cycle($b); say '######################'; $a = 'hogehoge'; say $a; say Dumper $a; say $b; say Dumper $b; # find_cycle($a) 出力されない find_cycle($a); # find_cycle($b) 出力される find_cycle($b);
0 件のコメント :
コメントを投稿