Hello stm,

last statement is not working here. It says an error "Can't "last" outside a loop block at".

That’s because the do { ... } while (...); construct isn’t a “real” loop; it’s a do operator followed by a while modifier. See perlsyn#Statement-Modifiers. You can re-cast your loop as follows:

{ do { ... if ($retries > 3) { print "3 attempts are failed.\n"; last; } } while ($f_cnt > 1); }

Update 1: Originally I had a LOOP: label on the outer block, and last LOOP; inside the if block; but a simple last; works just as well, and the label isn’t needed.

Alternatively, you could just add another untie @in_array statement immediately before the call to exit.

Update 2: Yet another option is to put the untie statement in an END { ... } block. The contents of any END block(s) will be executed when the script terminates, even if the termination is produced by a call to exit or die.

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,


In reply to Re: Tie::File: untie file handle by Athanasius
in thread Tie::File, is untie file handle must? by stm

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.