That line of code is within a subroutine that writes to the daemon log. I'm also fairly new to Perl. I have experience with other languages, but Perl is... different :)

# Get our hostname for logging and notifications our $host = hostname(); # Subroutine to append a new MRTG entry to the daemon log sub write_mrtg_log{ my( $arg1, $arg2 ) = @_; my $log_entry = defined $arg1 ? $arg1 : 'Empty Log Entry'; my $log_entry_category = defined $arg2 ? $arg2 : 'SCHEDULER'; my $daemon_log_timestamp = localtime()->strftime('%b %d %H:%M:%S'); open(my $fd, ">>/var/log/daemon"); print $fd $daemon_log_timestamp.' '.our $host.' mrtg[]: ['.$log_entr +y_category.']: '.$log_entry.'.'."\n"; close $fd; }

I'm still trying to understand our, my, and local. I honestly don't understand why I need to put 'our' in front of a variable just because it is within an IF/ELSE block. I can understand isolating a subroutine or referenced module, but having it also for IF/ELSE, WHILE, etc. is confusing me. At this point it seems like 'our' creates a global? Or is it preferred to just pass everything as arguments to subroutines?

Yes, the command you gave me (it needed a hyphen?) is returning the hostname consistently. The daemon log entries also use the value and they have it filled in most of the time. The exceptions are during network outages, which I've no idea how they're related yet.

Thanks for the suggestions on cleaning up the syntax. I'm still learning how to write Perl well, and I appreciate any advice.


In reply to Re^2: Uninitialized value from hostname() by eepstein
in thread Uninitialized value from hostname() by eepstein

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.