… | |
… | |
42 | package Guard; |
42 | package Guard; |
43 | |
43 | |
44 | no warnings; |
44 | no warnings; |
45 | |
45 | |
46 | BEGIN { |
46 | BEGIN { |
47 | $VERSION = '1.021'; |
47 | $VERSION = '1.022'; |
48 | @ISA = qw(Exporter); |
48 | @ISA = qw(Exporter); |
49 | @EXPORT = qw(guard scope_guard); |
49 | @EXPORT = qw(guard scope_guard); |
50 | |
50 | |
51 | require Exporter; |
51 | require Exporter; |
52 | |
52 | |
… | |
… | |
197 | solution to the problem of exceptions. |
197 | solution to the problem of exceptions. |
198 | |
198 | |
199 | =head1 SEE ALSO |
199 | =head1 SEE ALSO |
200 | |
200 | |
201 | L<Scope::Guard> and L<Sub::ScopeFinalizer>, which actually implement |
201 | L<Scope::Guard> and L<Sub::ScopeFinalizer>, which actually implement |
202 | dynamic guards only, not scoped guards, and have a lot higher CPU, memory |
202 | dynamically scoped guards only, not the lexically scoped guards that their |
203 | and typing overhead. |
203 | documentation promises, and have a lot higher CPU, memory and typing |
|
|
204 | overhead. |
204 | |
205 | |
205 | L<Hook::Scope>, which has apparently never been finished and can corrupt |
206 | L<Hook::Scope>, which has apparently never been finished and can corrupt |
206 | memory when used. |
207 | memory when used. |
207 | |
208 | |
|
|
209 | L<Scope::Guard> seems to have a big SEE ALSO section for even more |
|
|
210 | modules like it. |
|
|
211 | |
208 | =cut |
212 | =cut |
209 | |
213 | |