in reply to Passing the files as an argument in Subroutines

Why have you commented out use strict and use warnings?

They will help you discover errors in your code and syntax, before you even run the program!

Please replace those lines and let us know what perl tells you....

The way forward always starts with a minimal test.

Replies are listed 'Best First'.
Re^2: Passing the files as an argument in Subroutines
by shroh (Acolyte) on Jul 20, 2015 at 02:00 UTC
    Hi James, This is what i am getting when i use when using strict and warning.

    E:\Temp\inyrohs>perl outage_nodes.pl off Can't locate warning.pm in @INC (@INC contains: E:/apps/Perl64/site/lib E:/apps/ Perl64/lib .) at outage_nodes.pl line 6. BEGIN failed--compilation aborted at outage_nodes.pl line 6. E:\Temp\inyrohs>perl outage_nodes.pl on Can't locate warning.pm in @INC (@INC contains: E:/apps/Perl64/site/lib E:/apps/ Perl64/lib .) at outage_nodes.pl line 6. BEGIN failed--compilation aborted at outage_nodes.pl line 6.

      Hi shroh,

      Hi James, This is what i am getting when i use when using strict and warning....E:\Temp\inyrohs>perl outage_nodes.pl off Can't locate warning.pm..

      perl does not have use warning but warnings. Note the s. After that is corrected, then try running the code again.
      You can also include use diagnostics; so the pragmas will go like thus:

      use strict; use warnings; use diagnostics;

      If you tell me, I'll forget.
      If you show me, I'll remember.
      if you involve me, I'll understand.
      --- Author unknown to me
        E:\Temp\inyrohs>perl outage_nodes.pl on Possible unintended interpolation of @outagenodes in string at outage_ +nodes.pl l ine 52. Variable "$LOG" is not imported at outage_nodes.pl line 63. Bareword found where operator expected at outage_nodes.pl line 120, ne +ar ""ovdep loy -cmd "ovc" Global symbol "$SEC" requires explicit package name at outage_nodes.pl + line 19. Global symbol "$MIN" requires explicit package name at outage_nodes.pl + line 19. Global symbol "$HOUR" requires explicit package name at outage_nodes.p +l line 19. Global symbol "$DAY" requires explicit package name at outage_nodes.pl + line 19. Global symbol "$MON" requires explicit package name at outage_nodes.pl + line 19. Global symbol "$YEAR" requires explicit package name at outage_nodes.p +l line 19. Global symbol "$year" requires explicit package name at outage_nodes.p +l line 21. Global symbol "$YEAR" requires explicit package name at outage_nodes.p +l line 21. Global symbol "$month" requires explicit package name at outage_nodes. +pl line 22 . Global symbol "$MON" requires explicit package name at outage_nodes.pl + line 22. Global symbol "$day" requires explicit package name at outage_nodes.pl + line 23. Global symbol "$DAY" requires explicit package name at outage_nodes.pl + line 23. Global symbol "$date" requires explicit package name at outage_nodes.p +l line 24. Global symbol "$year" requires explicit package name at outage_nodes.p +l line 24. Global symbol "$month" requires explicit package name at outage_nodes. +pl line 24 . Global symbol "$day" requires explicit package name at outage_nodes.pl + line 24. Global symbol "$LOG" requires explicit package name at outage_nodes.pl + line 26. Global symbol "$date" requires explicit package name at outage_nodes.p +l line 26. Global symbol "$tempfile" requires explicit package name at outage_nod +es.pl line 28. Global symbol "$serverlist" requires explicit package name at outage_n +odes.pl li ne 30. Global symbol "@outagenodes" requires explicit package name at outage_ +nodes.pl l ine 37. Global symbol "@tempnodes" requires explicit package name at outage_no +des.pl lin e 46. Global symbol "@outagenodes" requires explicit package name at outage_ +nodes.pl l ine 52. Global symbol "$LOG" requires explicit package name at outage_nodes.pl + line 63. Global symbol "$LOG" requires explicit package name at outage_nodes.pl + line 63. Global symbol "$maintMode" requires explicit package name at outage_no +des.pl lin e 65. Global symbol "$HOUR" requires explicit package name at outage_nodes.p +l line 65. Global symbol "$MIN" requires explicit package name at outage_nodes.pl + line 65. Global symbol "$SEC" requires explicit package name at outage_nodes.pl + line 65. Global symbol "$date" requires explicit package name at outage_nodes.p +l line 67. Global symbol "$maintMode" requires explicit package name at outage_no +des.pl lin e 72. Global symbol "$maintmode" requires explicit package name at outage_no +des.pl lin e 75. Global symbol "$maintMode" requires explicit package name at outage_no +des.pl lin e 77. Global symbol "$NODES" requires explicit package name at outage_nodes. +pl line 80 . Global symbol "@outagenodes" requires explicit package name at outage_ +nodes.pl l ine 80. Global symbol "$NODES" requires explicit package name at outage_nodes. +pl line 87 . Global symbol "$maintMode" requires explicit package name at outage_no +des.pl lin e 91. Global symbol "$cmd" requires explicit package name at outage_nodes.pl + line 99. Global symbol "$NODES" requires explicit package name at outage_nodes. +pl line 99 . Global symbol "$maintMode" requires explicit package name at outage_no +des.pl lin e 99. Global symbol "$cmd" requires explicit package name at outage_nodes.pl + line 101. Global symbol "$cmd" requires explicit package name at outage_nodes.pl + line 103. Global symbol "$maintMode" requires explicit package name at outage_no +des.pl lin e 111. Global symbol "$NODES" requires explicit package name at outage_nodes. +pl line 11 6. Global symbol "$cmd" requires explicit package name at outage_nodes.pl + line 118. Global symbol "$NODES" requires explicit package name at outage_nodes. +pl line 11 8. Global symbol "$maintMode" requires explicit package name at outage_no +des.pl lin e 118. Global symbol "$cmdstopopcmona" requires explicit package name at outa +ge_nodes.p l line 120. outage_nodes.pl has too many errors.
      Hi shroh,

      the correct pragma is:

      use warnings;
      (i.e. warnings must be plural, not use warning;).

      Update: Sorry for the noice, I had not seen 2teez's earlier post to the same effect when I posted that.

      Psst- i think you meant to reply to 1nickt ;) but maybe I can help. What OS are you running? Where is Perl installed? What architecture?
        Hi James, I am running Windows server 2008 R2, and version is below: E:\Temp\inyrohs>perl -v This is perl 5, version 14, subversion 1 (v5.14.1) built for MSWin32-x64-multi-t hread (with 1 registered patch, see perl -V for more detail) Copyright 1987-2011, Larry Wall
      sorry i am having a double post problem.