in reply to Re^10: warning: use of uninitialized value
in thread warning: use of uninitialized value

Hello,

There are 3 problems I can spot right away:

I'd reiterate once again - work through an introductory perl tutorial like perlintro. You can avoid these kind of mistakes.

Replies are listed 'Best First'.
Re^12: warning: use of uninitialized value
by mrityunjaynath (Acolyte) on Jun 26, 2015 at 10:17 UTC

    thanks robby_dobby i have applied your suggestions and its working fine by providing the required output
    but only one warning is comming out everytime
    use of uninitialized value $key in hash element at newperlfile2.pl line 85, <$CFILE> line 3.....
    the line 85 being marked with ****

    my $cChipId; my $cSubVersId; my %data_ids; my $readline; if(open (my $CFILE,"config.txt" ) || die "couldnt open file:", $! ) { while ($readline = <$CFILE>) { chomp $readline; my ($key , $value) = (split /::/, $readline); $data_ids{$key} = $value;**** } for my $key (keys %data_ids) { $cChipId = $data_ids{'chipid'}; $cSubVersId = $data_ids{'subversid'}; } }
    if result is correct why the warning keeps on comming.
    i am going through perlintro doc ..thanks

      It's possible that you have blank lines or lines with just one part of the key like: 'chipId::'. You can skip those by checking for them explicitly or something like: next if $readline =~ /^$/;.

      That said, you have ignored my first point entirely -- Do Not enclose the open in an if condition check.

      This has already gotten really long - I'm not going to continue anymore. If you still have any more problems, open a new post and others will pick up where we left off.