#Passing scalar ref sub make_session { my ($u,$a,$s)=@_; my $session_hash={ user=>$u, dept=>$a }; $$s=$session_hash; } &make_session($user,$dept,\$sid); #### #Returning hash ref sub make_session { my ($u,$a)=@_; $session_hash={ user=>$u, dept=>$a }; return $session_hash; } $sid = &make_session($user,$dept);