Так пойдёт?

--------------------------------------------
#!/usr/bin/env perl

use strict;
use warnings;

use v5.10;

{
package test;

  sub once{
    state $done;
    do { say "Once" } unless $done++;
  }

};


bless ( \my $obj, 'test' )->once for 1..10;
--------------------------------------------

On Fri, 2014-02-07 at 20:19 +0400, Харпалёв Иван wrote:
> Доброго времени суток, могучий MoscowPM;
> 
> 
> Скажите, есть ли какие-то решения, чтобы кусок кода выполнялся ровно
> один раз? ( за время жизни программы)
> 
> 
> например
> 
> 
> for (...) {
>        do_once { code to be executed only once };
>        ....
> }
> do_once  { some_more() };
> 
> 
> Или как такое посоветуете делать?
> Чтобы по caller определялось, место вызова и куда-то запоминалось или
> ещё как-то?
> 
> 
> С уважением
> 
> 

-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить