Czy jedno z nich jest najlepsze czy najgorsze?Jak przekazywać obiekty do podprogramów?
wykorzystać zakres:
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')) {
# ...
}
przechodzącą obiektu jako argument:
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')) {
# ...
}
lub tworząc w podprogramie nową instancję:
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')) {
# ...
}