X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FScope%2FUpper.pm;h=920274050044846fa7f46002fbd66c40e290fddc;hb=refs%2Ftags%2Fv0.15;hp=f49ba017e90c9635d59a95f7d1d7d1e009c45a39;hpb=965e21f781c23f8c20242d17d7db745d8c035eb3;p=perl%2Fmodules%2FScope-Upper.git diff --git a/lib/Scope/Upper.pm b/lib/Scope/Upper.pm index f49ba01..9202740 100644 --- a/lib/Scope/Upper.pm +++ b/lib/Scope/Upper.pm @@ -9,13 +9,13 @@ Scope::Upper - Act on upper scopes. =head1 VERSION -Version 0.10 +Version 0.15 =cut our $VERSION; BEGIN { - $VERSION = '0.10'; + $VERSION = '0.15'; } =head1 SYNOPSIS @@ -24,7 +24,7 @@ L, L, L, L and L : package Scope; - use Scope::Upper qw/reap localize localize_elem localize_delete :words/; + use Scope::Upper qw; sub new { my ($class, $name) = @_; @@ -87,7 +87,7 @@ L and L : package Try; - use Scope::Upper qw/unwind want_at :words/; + use Scope::Upper qw; sub try (&) { my @result = shift->(); @@ -99,14 +99,14 @@ L and L : sub zap { try { - my @things = qw/a b c/; + my @things = qw; return @things; # returns to try() and then outside zap() # not reached }; # not reached } - my @stuff = zap(); # @stuff contains qw/a b c/ + my @stuff = zap(); # @stuff contains qw my $stuff = zap(); # $stuff contains 3 =head1 DESCRIPTION @@ -173,8 +173,8 @@ For example, will set C<$x> to a reference to the string C<'foo'>. Other sigils (C<'@'>, C<'%'>, C<'&'> and C<'*'>) require C<$value> to be a reference of the corresponding type. -When the symbol is given by a string, it is resolved when the actual localization takes place and not when C is called. -Thus, if the symbol name is not qualified, it will refer to the variable in the package where the localization actually takes place and not in the one where the C call was compiled. +When the symbol is given by a string, it is resolved when the actual localization takes place and not when L is called. +Thus, if the symbol name is not qualified, it will refer to the variable in the package where the localization actually takes place and not in the one where the L call was compiled. For example, { @@ -380,13 +380,13 @@ Same goes for the words L, L, L, L, L, L =cut -use base qw/Exporter/; +use base qw; our @EXPORT = (); our %EXPORT_TAGS = ( - funcs => [ qw/reap localize localize_elem localize_delete unwind want_at/ ], - words => [ qw/TOP HERE UP SUB EVAL SCOPE CALLER/ ], - consts => [ qw/SU_THREADSAFE/ ], + funcs => [ qw ], + words => [ qw ], + consts => [ qw ], ); our @EXPORT_OK = map { @$_ } values %EXPORT_TAGS; $EXPORT_TAGS{'all'} = [ @EXPORT_OK ]; @@ -426,11 +426,15 @@ L (standard since perl 5.006). =head1 SEE ALSO +L, L. + L, L, L, L. L is a thin wrapper around L that gives you a continuation passing style interface to L. It's easier to use, but it requires you to have control over the scope where you want to return. +L. + =head1 AUTHOR Vincent Pit, C<< >>, L. @@ -458,7 +462,7 @@ Thanks to Shawn M. Moore for motivation. =head1 COPYRIGHT & LICENSE -Copyright 2008,2009,2010 Vincent Pit, all rights reserved. +Copyright 2008,2009,2010,2011 Vincent Pit, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.