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 に答える