http://www.perlmonks.org?node_id=1027185


in reply to Print subroutine problem

You need to fix your "print" statements inside your GetOptions processing to format the output. Eg:
'activeconn' => sub { print "Active_Conn:" . query_database($querys{activeconn}) . " "},
Add printing of a "\n" after you finish "GetOptions".
Also, the final test should be for "@ARGV", not "$ARGV".

Update: Noticed that CountOrlok beat me to it, with almost identical advice.

             "I'm fairly sure if they took porn off the Internet, there'd only be one website left, and it'd be called 'Bring Back the Porn!'"
        -- Dr. Cox, Scrubs

Replies are listed 'Best First'.
Re^2: Print subroutine problem
by Shivaramakrishnan (Initiate) on Apr 05, 2013 at 18:40 UTC

    Thanks a ton!! That worked

Re^2: Print subroutine problem
by Shivaramakrishnan (Initiate) on Apr 05, 2013 at 18:47 UTC

    I wanted to know is there a way to modify my current script to accept ip address of the database server (in script used as hostname) as an arguement since I am implementing this over multiple database servers and don't want to statically define an IP.

      Just the way you have the line 'database=s' => \$database, you can add a line for $hostname.

      Also, look into making your usage statement better, i.e. tell users that they can also pass --user, --database, etc. in the command line.

      Just a side note, it hurts my eyes seeing the word "querys". Someone is going to get an error if they type the correct pluralization in the script.