nysus has asked for the wisdom of the Perl Monks concerning the following question:
Disregard. This was a problem in the return value from get_value(), not the while loop test. Sorry to bother everyone.
Got this simple while loop:
sleep 60; my $status; while(!(($status = get_value()) eq 'initializing')) { sleep 10; }
The $status is set to the value returned by the get_value() function. When the value returned is no longer 'initializing', I want the loop to terminate. However, the while loop never terminates. It keeps going even when get_value() returns 'ok' and I'm not sure why. I've tried a few different iterations of this code to no avail.
This simplified version code works as expected:
use strict; use warnings; my $count = 0; my $status; while (($status = gv() eq 'initializing')) { print 'stuck in loop' . "\n"; } sub gv { $count ++; return 'initializing' if $count < 5; return 'ok'; }
But when I try to duplicated this in my real world code, it doesn't work.
$PM = "Perl Monk's";
$MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon Curate Priest Vicar";
$nysus = $PM . ' ' . $MCF;
Click here if you love Perl Monks
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: While loop does not terminate
by haukex (Archbishop) on Dec 13, 2020 at 17:25 UTC | |
Re: While loop does not terminate
by Corion (Patriarch) on Dec 13, 2020 at 17:25 UTC | |
Re: While loop does not terminate
by nysus (Parson) on Dec 13, 2020 at 18:31 UTC | |
by marto (Cardinal) on Dec 13, 2020 at 18:33 UTC | |
by LanX (Saint) on Dec 13, 2020 at 20:22 UTC | |
by GrandFather (Saint) on Dec 13, 2020 at 20:47 UTC | |
by LanX (Saint) on Dec 13, 2020 at 21:19 UTC | |
Re: While loop does not terminate
by haukex (Archbishop) on Dec 13, 2020 at 16:52 UTC | |
Re: While loop does not terminate
by Albannach (Monsignor) on Dec 13, 2020 at 16:49 UTC |
Back to
Seekers of Perl Wisdom