my $self; { my %hash; $self = bless(\%hash, $pkg); }
Run Code Online (Sandbox Code Playgroud)
它引用了HTML/Template.pm
,为什么不简单bless $self,$pkg
?
$i = 5;
print "{$i*10}";
Run Code Online (Sandbox Code Playgroud)
有时我可能需要做上面这样的事情,但是Perl没有按照我想要的方式解释它,而且我只能用另一个变量来做.有一个技巧吗?
%h = (a => 1, b => 2);
keys %h;
while(my($k, $v) = each %h)
{
$h{uc $k} = $h{$k} * 2; # BAD IDEA!
}
Run Code Online (Sandbox Code Playgroud)
输出是:
(a => 1, A => 2, b => 2, B => 8)
Run Code Online (Sandbox Code Playgroud)
代替
(a => 1, A => 2, b => 2, B => 4)
Run Code Online (Sandbox Code Playgroud)
为什么?
如果我忘记打印标题,将在Perl中出现这样的错误:
Premature end of script headers
Run Code Online (Sandbox Code Playgroud)
但是在PHP中,如果我不打印任何标题,那么Perl为什么不自动执行呢?
perl ×5