in reply to Sleep and Perl

I think you want the modulo operator (perlop)
sleep(10) if $count % 100 == 0;
UPDATE: fixed typo (choroba++)

Replies are listed 'Best First'.
Re^2: Sleep and Perl
by flexvault (Monsignor) on Dec 16, 2015 at 05:59 UTC

    Hello toolic,

    You may never get to the end of the file if you get more than 100 entries within 10 seconds. I believe the test needs to know the size of the file or the number of records to start with, otherwise you'll never know when you have xx records left.

    If you know that each record average 100 bytes then...(untested)

    my $size = -s $file; my $avg_recsize = 100; while my $record ( <$in> ) { if ( ( $size - ( 100 * $avg_recsize ) ) <= 0 ) { sleep(10); $size = -s $file; } . . . }
    I think this is similar to the 'pop before email' technique. YMMV.

    Regards...Ed

    "Well done is better than well said." - Benjamin Franklin

      Hmmm ... Can you explain further. My read of the OP does not show any problems with getting to the end of the loop -- there's nothing in the body of the loop to prevent the eventual exit.

      -derby

        I think this is just a confusion between interpreting the sentence fragment "remainder of count" as "remaining records in file" vs "remainder of division applied to record count"

        Hello derby,

        Please see my answer to SuicideJunkie who's suspicion is correct!

        Regards...Ed

        "Well done is better than well said." - Benjamin Franklin