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

这是一个perl文件。该代码尚未完成,但是它永远不会到达“Page End”语句。所以我不再加长。 $ FileInfo是一个数组定义,用于从文件中读取较早的内容,但是由于语法的原因,此处出现乱码。

这是构建对象参考的电话

$page = new GeneratePages(0);

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

最佳答案

Bless仅适用于引用。从perldoc bless:



因此,如果要将字符串用作对象,则应将对其的引用传递给bless:

my $s = "foo"; # $s is a scalar variable
my $o = bless \$s, $class; # $s is now an object in the $class package

10-07 21:50