0

最近我正在使用 chilkat perl 库发送电子邮件

http://www.example-code.com/perl/smtp_simpleSend.asp

当我创建新对象时

use chilkat();

#  The mailman object is used for sending and receiving email.
$mailman = new chilkat::CkMailMan();
$mailman->put_SmtpHost("smtp.chilkatsoft.com");
#  Set the SMTP login/password (if required)
$mailman->put_SmtpUsername("myUsername");
$mailman->put_SmtpPassword("myPassword");

当我尝试使用 Dumper 方法打印对象时,它什么也不返回。

print Dumper($mailMan);
$VAR1 = bless( {}, 'chilkat::CkMailMan' );

我们如何将数据隐藏在上面的祝福对象中?

4

1 回答 1

6

看一下代码。它使用 DynaLoader 加载 C 库(Windows 上的 dll)。其余的只是构造函数。属性(如SmptHost)不保存在 Perl 数据结构中。它只是传递给 C 函数调用。我什至不确定您是否可以同时拥有多个不同的对象。这就是为什么在祝福哈希中没有任何内容的原因。


你不能只是隐藏数据。普通 Perl 对象中没有私有方法。总有办法得到这些东西。有一些对象框架使得用 Data::Dumper 序列化它变得更加困难,但这不是这些框架的目的。以Class::Std::Fast::Storable为例。

于 2013-08-17T16:02:31.800 回答