nysus has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying to get the second example, "/drums," of Dancer2 code here working. It makes use of AnyEvent However, it doesn't seem to do anything at all except print Stretching... and I'm trying to figure out why.

So I just heard of AnyEvent. I wrote the following to get familiar with it:

#! /usr/bin/env perl use AnyEvent; my $timer_once = AE::timer 0.5, 0.5, sub { print 'too late' };

I discover it doesn't do anything. I google around and come across this faq.

So I see the suggestions on the faq for overcoming this but decide to try this instead expecting it to keep the programming running long enough so I would see some output:

use AnyEvent; my $timer_once = AE::timer 0.5, 0.5, sub { print 'too late' }; for (my $x = 0; $x < 200000000; $x++) { }

It takes several seconds for my computer to count to 200,000,000 but I still see no output from the timer. So what am I missing and does it have anything to do with why the Dancer2 code doesn't work? Thanks and Merry Christmas.

$PM = "Perl Monk's";
$MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon Curate Priest";
$nysus = $PM . ' ' . $MCF;
Click here if you love Perl Monks

Replies are listed 'Best First'.
Re: Basic question on AnyEvent
by karlgoethebier (Abbot) on Dec 25, 2017 at 18:41 UTC

    I guess: You miss the "quit_program" condition?

    Update: Like this:

    #!/usr/bin/env perl use strict; use warnings; use AnyEvent; use feature qw (say); say q(Let's get schmorped!); my $amount = 10; my $quit_program = AnyEvent->condvar; my $timer = AnyEvent->timer( after => $amount, cb => sub { say qq(Awaiting penance in $amount s!); $quit_progr +am->send } ); $quit_program->recv; say q(Now we've been schmorped!); __END__ karls-mac-mini:playground karl$ ./event.pl Let's get schmorped! Awaiting penance in 10 s! Now we've been schmorped!

    BTW: I couldn't install AnyEvent without -f.

    «The Crux of the Biscuit is the Apostrophe»

    perl -MCrypt::CBC -E 'say Crypt::CBC->new(-key=>'kgb',-cipher=>"Blowfish")->decrypt_hex($ENV{KARL});'Help