use feature qw( :5.10 );
sub uncalled_sub {
state $huge = huge_data_structure();
return;
}
print 'mem usage: ', my_mem(), "\n";
sub huge_data_structure {
return [ ( 'x' x 1_000 ) x 100_000 ];
}
sub my_mem {
my ($proc_info)
= grep { $_->[2] == $$ } map { [ split ] } `ps l | tail -n +2`;
return $proc_info->[6];
}
__END__
mem usage: 11220
####
{
my $huge = huge_data_structure();
sub uncalled_sub {
# state $huge = huge_data_structure();
return;
}
}
print 'mem usage: ', my_mem(), "\n";
__END__
mem usage: 116132
##
##
print counter(), "\n";
{
my $count = 0;
sub counter { $count++ }
}
print counter(), "\n";
__END__
0
0
##
##
use feature qw( :5.10 );
print counter(), "\n";
sub counter {
state $count = 0;
return $count++;
}
print counter(), "\n";
__END__
0
1