use v5.30;
use strict;
use warnings;
{
my $add = 0;
sub getter { $add }
sub counter {
my @nums = (1..500);
for my $num (@nums) { $add += $num; }
}
}
counter();
say "getter => ", getter();
####
use v5.30;
use strict;
use warnings;
sub counter {
my $add = 0;
my @nums = (1..500);
for my $num (@nums) { $add += $num; }
return $add;
}
my $got = counter();
say "got => ", $got;
####
{
my $foo = 123;
sub myfunc {
...;
}
}
####
sub myfunc {
state $foo = 123;
...;
}
####
{
my $foo;
sub myfunc {
$foo ||= 123;
...;
}
}