|
#!/usr/bin/env perl
my $copyright = <<'COPYRIGHT';
# Copyright 2021 by Christian Jaeger <ch@christianjaeger.ch>
# Published under the same terms as perl itself
COPYRIGHT
my ( $mydir , $myname );
BEGIN {
$0 =~ /(.*?)([^\/]+)\z/s or die "?" ;
( $mydir , $myname ) = ($1, $2);
}
sub foo( $x ) {
sub ( $y ) {
my $f = __SUB__;
sub ( $z ) {
$z < 1000 ? $f ->( $x * $y )->( $z + $y ) : $z
}
}
}
sub t ( $n ) {
my $res ;
for (1 .. $n ) {
$res = foo(50)->(30)->(30);
}
$res
}
warn
"Please verify manually from outside (e.g. `top`) that this process, pid $$, doesn't increase memory usage over time" ;
my $res = t 10000000;
|