sub create_func { my $val = shift; return { $val ++; return $val; } } my $increment_coderef = create_fund(1); my $value = $increment_coderef->(); #returns 2 my $value = $increment_coderef->(); #returns 3