2

我试图祝福一个字符串变量——在下面的代码中演示。Bless 似乎只在我使用散列或数组时才有效。你可以祝福琴弦吗?如果没有,你能祝福什么?我已经调试了一段时间,任何帮助将不胜感激。:-) 如果我在代码中出错,请告诉我它是什么。

这是一个 perl 文件。代码没有完成,但它永远不会到达“Page End”语句。所以我不再延长它了。$FileInfo 是一个定义早先从文件读取的数组,但由于语法在这里出现乱码。

这是构建 ojbect 参考的调用

$page = new GeneratePages(0);

package GeneratePages;  
sub new  
{  
    my $class = shift;  
    my $pageContents = $FileInfo[shift];  
    bless $pageContents, $class;  
    return $pageContents;  
}
4

1 回答 1

11

Bless 仅适用于引用。来自perldoc 的祝福

这个函数告诉 REF 引用的东西它现在是 CLASSNAME 包中的一个对象。

所以如果你想使用一个字符串作为一个对象,你应该将它的引用传递给bless

my $s = "foo"; # $s is a scalar variable
my $o = bless \$s, $class; # $s is now an object in the $class package
于 2011-03-31T08:58:03.130 回答