Provided by: libtime-out-perl_0.11-1_all bug

NAME

       Time::Out - Easily timeout long running operations

SYNOPSIS

         use Time::Out qw(timeout) ;

         timeout $nb_secs => sub {
           # your code goes were and will be interrupted if it runs
           # for more than $nb_secs seconds.
         } ;
         if ($@){
           # operation timed-out
         }

DESCRIPTION

       "Time::Out" provides an easy interface to alarm(2) based timeouts.  Nested timeouts are
       supported.

   RETURN VALUE
       'timeout' returns whatever the code placed inside the block returns:

         use Time::Out qw(timeout) ;

         my $rc = timeout 5 => sub {
               return 7 ;
         } ;
         # $rc == 7

"Time::HiRes"

       If "Time::Out" sees that "Time::HiRes" has been loaded, it will use that 'alarm' function
       (if available) instead of the default one, allowing float timeout values to be used
       effectively:

         use Time::Out ;
         use Time::HiRes ;

         timeout 3.1416 => sub {
               # ...
         } ;

BUGS

       Blocking I/O on MSWin32
           alarm(2) doesn't interrupt blocking I/O on MSWin32, so 'timeout' won't do that either.

       @_  One drawback to using 'timeout' is that it masks @_ in the affected code.  This
           happens because the affected code is actually wrapped inside another subroutine that
           provides it's own @_. You can get around this by specifically passing your @_ (or
           whatever you want for that matter) to 'timeout' as such:

             use Time::Out ;

             sub test {
               timeout 5, @_ => sub {
                 print "$_[0]\n" ;
               } ;
             }

             test("hello") ; # will print "hello\n" ;

SEE ALSO

       eval, closures, alarm(2), Sys::AlarmCall

AUTHOR

       Patrick LeBoutillier, <patl@cpan.org>

COPYRIGHT AND LICENSE

       Copyright 2005-2008 by Patrick LeBoutillier

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