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

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

Replies are listed 'Best First'.
Re^13: warning: use of uninitialized value
by robby_dobby (Hermit) on Jun 26, 2015 at 10:31 UTC

    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.