Hmm, probably well known but ... I have not met any direct warning of
this problem so far.

     our %SOME_CONFIG = (
        a => 1,
        b => 2,
        c => 3,
     );      

...
     while (my($k,$v) = each %SOME_CONFIG) {
         if( ... ) {
              return; # or last, or throw exception
         }
     }

You probably see the problem - when this code is re-executed (next
request), the loop iterates just over 'the rest' of the hash.

Does there exist some way to protect before this problem (some kind of
auto-destructor, finally, whatever which would automatically rewind
the hash internal iterator while leaving the context)?

Reply via email to