我不喜欢这里,我只是在尝试。
所以我试过
#! usr/bin/perl
use warnings;
use strict;
use POSIX;
我可以这样做:
my $point = bless {}, 'POSIX';
print $point->strftime("%A, %B %d, %Y", @time);
试过那个错误。
答案 0 :(得分:6)
这不起作用,因为POSIX
包中的函数不是设计为对象方法。
当您使用->
运算符调用方法时,Perl会在调用者的继承层次结构中找到该方法,然后执行该方法,并将调用者作为第一个参数传递。所以
$point->strftime("%A, %B %d, %Y", @time);
相当于:
POSIX::strftime( $point, "%A, %B %d, %Y", @time );
strftime
函数不期望在开头有额外的参数,因此它会因标准的XS使用错误而死亡。