Run Code Online (Sandbox Code Playgroud)if (%hash){ print "That was a true value!\n"; }如果(并且仅当)散列具有至少一个键值对,那将是真实的.
实际结果是一个内部调试字符串,对维护Perl的人有用.它看起来像"4/16",但是当散列是非空时,该值保证为真,而当它为空时,该值保证为假. - 小马书
这4/16是什么?谁能告诉我一个小程序,我可以看到结果是4/16?
目前,我使用这样的东西:
my %tmpHash = routineReturningHash();
my $value = $tmpHash{'someKey'};
Run Code Online (Sandbox Code Playgroud)
我唯一需要的是$value,我不需要%tmpHash自己.所以我很想知道是否有办法避免声明%tmpHash.
我试过了
my $value = ${routineReturningHash()}{'someKey'};
Run Code Online (Sandbox Code Playgroud)
但它不起作用并输出一个奇怪的错误:" Can't use string ("1/256") as a HASH ref while "strict refs" in use".
有什么想法可以做到吗?