in reply to What is this doing, and why is this a good method of doing it?

I'll bite, rather than switching strict refs off then on again is it a good method? Is there a side effect of switching I dont see?

for (@x) { no strict 'refs'; *$_ = sub { use strict 'refs'; # ... }; }
Also why is the semicolon required before the no strict 'refs'?