The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Devel::RunBlock - run coderef as block

VERSION

Version 0.01

SYNOPSIS

 use Devel::RunBlock qw(runblock);

EXPORT

This module can three functions.

FUNCTIONS

runblock

 runblock $sub;

run $sub as code block. if returned in block, it returns from sub which calls runblock function.

runblock_state

 my $rstate = runblock_state { code.. };

run $sub and return whether $sub is returned by return statement or leave scope.

$rstate==1 means returned by return statement. $rstate==0 means returned by left scope.

long_wantarray

 my $wa = long_wantarray $uplevel;

like a wantarray builtin function, but can test caller's wantarray state.

long_return

 long_return $uplevel;
 #long_return $uplevel, $rval..;

long jump return. currently, could not return values.

$uplevel=0 means no return (just return your sub). $uplevel=1 means normal return, just same as normal return statement.

AUTHOR

YAMASHINA Hio, <hio at cpan.org>

BUGS

Please report any bugs or feature requests to bug-devel-runblock at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Devel-RunBlock. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

KNOWN BUGS

- long_return could not return values.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc Devel::RunBlock

You can also look for information at:

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2006 YAMASHINA Hio, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.