Uno di questi è l'approccio migliore o peggiore?Come devo passare oggetti alle subroutine?
utilizzano la portata:
my $cache = CHI->new(driver => 'File', expires_in => 3600);
sub one {
if (my $data = $cache->get('key_one')) {
# ...
}
sub two {
if (my $data = $cache->get('key_two')) {
# ...
}
passando l'oggetto come argomento:
my $cache = CHI->new(driver => 'File', expires_in => 3600);
sub one {
my ($cache) = @_;
if (my $data = $cache->get('key_one')) {
# ...
}
sub two {
my ($argument1, $cache) = @_;
if (my $data = $cache->get('key_two')) {
# ...
}
o creare nella subroutine una nuova istanza:
sub one {
my $cache = CHI->new(driver => 'File', expires_in => 3600);
if (my $data = $cache->get('key_one')) {
# ...
}
sub two {
my $cache = CHI->new(driver => 'File', expires_in => 3600);
if (my $data = $cache->get('key_two')) {
# ...
}