gpt4 book ai didi

perl - 停止 perl 重载或打印引用的内存 "address"

转载 作者:行者123 更新时间:2023-12-04 22:30:55 24 4
gpt4 key购买 nike

我创建了一个类,它重载 "" 运算符以打印出用户可读的对象的漂亮字符串化形式。

但是现在,我想实际获取内存地址,例如:

Some_class=HASH(0xb0aff98)

如果我还没有覆盖 print "$some_object" 操作符,我通常会使用 "" 来完成。

有没有办法绕过重写的方法,或者如果失败,只获取这个对象的内存地址?

最佳答案

使用 overload::StrVal($o)

use overload '""' => sub { "Hello, World!" };
my $o = bless({});
print($o, "\n"); # Hello, World!
print(overload::StrVal($o), "\n"); # main=HASH(0x62d038)

关于perl - 停止 perl 重载或打印引用的内存 "address",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26126621/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com