关于PERL类的问题(新手)

关于PERL类的问题(新手)

-----------------这是test.pm----------------------------------------------
#!/usr/bin/perl
package test;
use strict;
use base qw(Exporter);
use encoding 'gbk';
our @EXPORT = qw(test2 test1);

sub new {
my $this = {}; # 创建一个hash指向自己
bless $this; # 把类赋值给引用.
return $this; # 返回引用
}
   
sub test1 {
     my ($weibiao) = @_;
     print "test类中的test1被调用:";
     print "$weibiao"."\n";
      }

sub test2 {
     print "test类中的test2被调用:";
     print "loveyou111111"."\n";
     }
1;

-----------------这是test.pm----------------------------------------------





------------------------------这是调用test.pm的shinian.pl---------------------

#!/usr/bin/perl
BEGIN{ unshift @INC,'e:/perl/xuexi'};
use strict;
use test;
use encoding 'gbk';

my $cup = new test;
$cup->test1("Love");
$cup->test2();

------------------------------这是调用test.pm的shinian.pl---------------------

结果如图:


为什么test1打印出来的是一个地址值??
为什么不带参数的test2可以正常运行?

为什么把test.pm当作模块来用的话,test1("Love");可以正常运行如下:

希望高手指点一下小弟弟。。。
不知道你这是用什么语言的风格来写 perl 的 OOP。

建议你先看看 perl 自带的关于 OOP 的文档吧。
老大。我找了好久都找不到。所有的东西都是在论坛上找到的
我有点好奇的是,为什么要把运行结果贴成图片呢?
防止搜索吗?
简单点回答。因为用图比较容易。。
我发现$weibiao包含的事实上。好像是$cup的地址值。。。为什么会这样??!~??


QUOTE:
原帖由 openkore 于 2008-6-19 18:41 发表
-----------------这是test.pm----------------------------------------------
#!/usr/bin/perl
package test;
use strict;
use base qw(Exporter);
use encoding 'gbk';
our @EXPORT ...

sub new {
my $this = {}; # 创建一个hash指向自己
bless $this; # 把类赋值给引用.
return $this; # 返回引用
}
   
sub test1 {
     my ($weibiao) = @_;
     print "test类中的test1被调用:";
     print "$weibiao"."\n";
      }

$weibiao其实就是指向一个hash的引用
建议看看大骆驼
大哥。可不可以明确一些,。。那我这个问题可以怎么样解决???
还有大骆驼我找不到。可不可以给个下载地址。。
把 test1 改成这样:

sub test1 {
     my ($self, $weibiao) = @_;


你也不用看 大骆驼,先看看  perltoot 吧。

>perldoc perltoot