X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FScope%2FUpper.pm;h=f6849e5be6f64f2dff247e0ffe6fd82483cc7924;hb=fe6605581cbe68b5935e72c98a8a685379d1f320;hp=67cc80f25cacee55a60cd57b2e0e1130985f9e82;hpb=6090555243b452a17460ab13510b8a15e0c62f5e;p=perl%2Fmodules%2FScope-Upper.git diff --git a/lib/Scope/Upper.pm b/lib/Scope/Upper.pm index 67cc80f..f6849e5 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.12 =cut our $VERSION; BEGIN { - $VERSION = '0.10'; + $VERSION = '0.12'; } =head1 SYNOPSIS @@ -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, { @@ -202,7 +202,8 @@ Although I believe it shouldn't be a problem as glob slots definedness is pretty =head2 C Introduces a C or C delayed to the time of first return into the upper scope denoted by C<$context>. -Just like for L, the type of localization is determined from which kind of reference C<$value> is when C<$what> is a glob, and from the sigil when it's a string. +Unlike L, C<$what> must be a string and the type of localization is inferred from its sigil. +The two only valid types are array and hash ; for anything besides those, L will throw an exception. C<$key> is either an array index or a hash key, depending of which kind of variable you localize. If C<$what> is a string pointing to an undeclared variable, the variable will be vivified as soon as the localization occurs and emptied when it ends, although it will still exist in its glob. @@ -425,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.