它似乎类似于写:
use Const::Fast;
const $xx, 77;
sub test {
do_something_with( $xx );
}
或者
sub test {
state $xx = 77;
do_something_with( $xx );
}
完成此任务的更好方法是什么: viaconst
或 via state
?
sub get_ip_country {
my ($ip_address) = @_;
my $ip_cc_database = GeoIP2::Database::Reader->new(file => '/etc/project/GeoLite2-Country.mmdb');
...
}
UPD
在这个 sub 我没有将指针更改为geoip 数据库,所以它应该是const
. 但是我不想每次调用 sub 时都重新创建对象(这很慢)。所以我想它会更快使用state
,尽管指针没有改变。
好像应该是const state $ip_cc_database