Hi Sunita,

As per Uri's suggestions, here's one way to make it work by surrounding the
variable with curly braces

[code]
%hash = ("abc" => 123, "dfg" => 456, "xsd" => 34);

foreach $k (keys %hash){
         print "key ${k}:: value $hash{$k}\n";
 }
[/code]

[output]
key abc:: value 123
key dfg:: value 456
key xsd:: value 34
[/output]

Hope it helps.


On Mon, Jun 23, 2014 at 1:31 AM, Sunita Pradhan <
sunita.pradhan.2...@hotmail.com> wrote:

> I have following code for printing a simple hash.
>
> #!/usr/bin/perl -w
>
>
> %hash = ("abc" => 123, "dfg" => 456, "xsd" => 34);
>
> foreach $k (keys %hash){
>          print "key $k:: value $hash{$k}\n";
>  }
>
>
> It does not print keys and displays following warnings:
>
> --------------
> Use of uninitialized value $k:: in concatenation (.) or string at
> hash_test2.pl
> line 7.
> key  value 34
> Use of uninitialized value $k:: in concatenation (.) or string at
> hash_test2.pl
> line 7.
> key  value 123
> Use of uninitialized value $k:: in concatenation (.) or string at
> hash_test2.pl
> line 7.
> key  value 456
>
>
> Never happened like this with hash . I am not sure where I am going wrong .
>
>
>
>
>
> -Sunita
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


-- 
best,
Shaji
----------------------------------------------------------------------------------------------------------------------------------------------
Your talent is God's gift to you. What you do with it is your gift back to
God.
----------------------------------------------------------------------------------------------------------------------------------------------

Reply via email to