I wanted to post it for more comments and advice on how to improve ;)

Well, I can see several areas for improvement, notably the huge if block at the end.

(BTW, why do you declare a variable $robot_file that you never subsequently use? And why have you commented out use strict; at the beginning of your program?)

Immediately, however, one thing that springs to mind is this line:

my $day=$dayOfMonth-1;

It seems to me, in the context, that you're trying here to use this to get the date of the previous day. If I'm wrong, please excuse me, but if not, what do you think will happen, for example on November 1st (not to mention Jan 1st, or March 1st, when the previous day might be either Feb 28 or Feb 29)?

In fact, 'How do I find yesterday's date?' is a faq (How do I find yesterday's date?). With Perl (not PERL, by the way), there are modules out there that deal with heaps of similar problems, and save you from reinventing the proverbial wheel :).

Here's one way, based on the answers to the faq, to create the sort of string that you seem to require, using the DateTime module (Don't hesitate, BTW, to use whitespace in your code, to make it more human-legible):

use DateTime; my $yesterday = DateTime->today->subtract( days => 1 )->ymd( '' ); my ( $prefix, $extension ) = ( 'ex', '.log' ); my $log_file = $prefix . substr( $yesterday, 2 ) . $extension;

In reply to Re^3: Deleting a matching string in an array by Not_a_Number
in thread Deleting a matching string in an array by Shamaeso

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.