Is the 'my $x if 0' trick usable for static variable creation for Perls before 5.10?

后端 未结 3 1688
我在风中等你
我在风中等你 2020-12-11 15:58

In Perl before 5.10 there is no \"state\" declaration.

I\'ve come across an example of creating static variables in these Perls: my $x if 0. The i

3条回答
  •  盖世英雄少女心
    2020-12-11 16:29

    No, it's very crummy. Use a closure instead.

    use strict;
    
    sub add {
        my @arr;
    
        return sub {
            push @arr, '+';
            print @arr, "\n";
        }
    }
    
    my $iter = add();
    $iter->() for 1..7;
    

提交回复
热议问题