Uninitialized values in hash

Discussion in 'Perl Misc' started by mike, Apr 10, 2008.

  1. mike

    mike Guest

    Hi,

    I am running the following code:

    use strict;
    use warnings;

    my $verbose = 1;
    my $info = "[INFO] :";
    my $error = "[ERROR]:";

    my $configFile = "config.dat"; # Recommended plugins.
    my %User_Preferences = ();


    ####################### Subroutines #######################





    #################################### Start Main
    #######################################
    print "Reading configuration data ...\n";


    open FILE, "$configFile" or die "$error Could not open file
    $configFile :$! ";

    while (<FILE>) {

    s/\s+$//;# Remove all \r, \n, ^M from end of line
    next if (/^$/);# ignore null lines
    next if (/^\s*#/); # ignore comment line.
    my ($config_name,$config_val)=split(/\s*=\s/, $_,2);# Split the line
    $User_Preferences{$config_name}=$config_val;
    $verbose && print "$config_name\n";

    }

    close FILE;

    print "Deploying $User_Preferences{pathdeployunit}";

    I get the following output:

    Reading configuration data ...
    asadminexecutable=C:\sailfin\b22\sailfin\bin>C:\sailfin\b22\sailfin\bin
    \asadmin
    passwordfile=C:\Documents and Settings\eraonel
    \remote_admin_password.txt
    user=admin
    host=137.58.240.75
    port=4848
    pathdeployunit=M:\target\complete-ear-0.0.0.1-SNAPSHOT.ear
    Use of uninitialized value in concatenation (.) or string at /vobs/
    mbv_admin/tools/scripts/test/rdeploy.pl line 39.
    Deploying
    Compilation finished at Thu Apr 10 08:46:02

    Question:

    Is not the hash User_Preferences initialized with values when I read
    my file? Is there another way to do it?

    cheers,

    //mike
    mike, Apr 10, 2008
    #1
    1. Advertising

  2. mike

    mike Guest

    On 10 Apr, 09:00, Frank Seitz <> wrote:
    > mike wrote:
    > > my ($config_name,$config_val)=split(/\s*=\s/, $_,2);# Split the line

    >
    > ^
    > \s*
    > Frank
    > --
    > Dipl.-Inform. Frank Seitz;http://www.fseitz.de/
    > Anwendungen für Ihr Internet und Intranet
    > Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel



    Thanks a lot for the concrete feedback!

    //mike
    mike, Apr 10, 2008
    #2
    1. Advertising

  3. mike <> wrote:
    > $verbose && print "$config_name\n";
    >
    > I get the following output:
    >
    > pathdeployunit=M:\target\complete-ear-0.0.0.1-SNAPSHOT.ear
    >
    > Is not the hash User_Preferences initialized with values when I read
    > my file? Is there another way to do it?


    Apparently the "split" did not work as expected, otherwise you would
    no have got the output from the print above - the whole string is in
    $config_name, and $config_val is undef, thus the warning.

    Regards

    Guido
    Guido Ostkamp, Apr 10, 2008
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. rp
    Replies:
    1
    Views:
    493
    red floyd
    Nov 10, 2011
  2. Alex Fenton

    Hash#values and Hash#keys order

    Alex Fenton, Apr 7, 2006, in forum: Ruby
    Replies:
    1
    Views:
    128
    George Ogata
    Apr 15, 2006
  3. Mage

    hash.keys and hash.values

    Mage, Aug 13, 2006, in forum: Ruby
    Replies:
    14
    Views:
    168
  4. Ronald Fischer

    Hash#keys, Hash#values order question

    Ronald Fischer, Aug 23, 2007, in forum: Ruby
    Replies:
    0
    Views:
    144
    Ronald Fischer
    Aug 23, 2007
  5. Srijayanth Sridhar
    Replies:
    19
    Views:
    596
    David A. Black
    Jul 2, 2008
Loading...

Share This Page