Syntax - yuki-kimoto/SPVM GitHub Wiki

How to implement Perl local in SPVM

Use the defer method in the Fn class.

Perl:

package MyClass;

{
  my $nums = [1];
  local $nums->[0] = 2;

  # ...
}

SPVM:

use Fn;

{
  my $nums = [1];
  my $old_number = $nums->[0];
  Fn->defer([$nums : int[], $old_number : int] method : void () {
    $nums->[0] = $old_number;
  });
  $nums->[0] = 2;

  # ...
}