in reply to hash references

i gave refrence as you see

No, we don't see, because you don't show how that sub is called.

Why do you persistently ignore the advise from previous threads to actually read perlreftut and start to learn how references work in Perl?

Also I don't see any hash references which you mention in the post title. There's no reason for two separate hashes that hold the same information.

Replies are listed 'Best First'.
Re^2: hash references
by Anonymous Monk on Aug 01, 2011 at 11:44 UTC

    thanks.i know that when we want put an array for a key we have to reference to that for calling it back.but when i change to following code it is still not working and i have error.

    my $m=(${@{$site1{$_}}}[1]-${@{$site2{$_}}}[1]); my $n=(${@{$site1{$_}}}[0]-${@{$site2{$_}}}[0]);

    now,

     @{$site1{$_}}

    is a reference,isnt it?

      No, @{$site1{$_}} is a "normal" array. Hopefully $site1{$_} is a reference to an array, otherwise you are in trouble (either you have "use strict" then this will give an error, without it you might get no error but it still won't work as you intent

      What you probably want is something like $site1{$_}->[1]. This will access array index 1 of the array pointed to by $site{$_}

        i changed the code as follow,but still same error.:-(

        my $m=($genome1{$_}->[1]-$genome2{$_}->[1]); my $n=($genome1{$_}->[0]-$genome2{$_}->[0]);

        in that case,i have this error.i really confused!!

        cant use string

        <"[1,0]"> as an array ref while "strict ref" use at mainproject.pl line 245