我習慣於使用OO Perl使用$self
,即使我只是編寫自包含腳本而沒有命名我的軟件包。例如,我的script.pl
應該像這樣開頭:perl在腳本和PerlCritic中使用祝福自我
use strict;
use warnings;
my $self = bless {};
$self->time_stamp(localtime(time()));
1;
sub time_stamp {
my ($self,@args) = @_;
# Getter/setter
my $ftime_stamp;
if(1 < scalar @args) {
$ftime_stamp = strftime "%Y%m%d_%H%M%S", @args;
$self->{'time_stamp'} = $ftime_stamp;
}
return $self->{'time_stamp'};
}
[...]
這些腳本有時會轉成正確的模塊,但有些時候我只是讓他們這樣。
這雖然違背了「一個參數的祝福」的Perl的評論家:
One-argument "bless" used at line 162, column 12. See page 365 of PBP. Severity: 5
有沒有命名我的祝福的清潔方式,但仍然包含在我的script.pl
一切嗎?
你要保佑可變進級/包([祝福](http://perldoc.perl.org/functions/bless.html)第二個參數)。你想保存哪個包? –
'perldoc -f bless':「如果CLASSNAME被省略,則使用當前包。」 –