请教个函数传递参数的问题

请教个函数传递参数的问题

请教个函数传递参数的问题

我想如下方式传递参数到函数中,但发现,不能正确传递,哈希的值传递不进去。
my ($filen2)="t.cfg";
my (%sys_config);
my ($fg)="=";
%sys_config=('user'=>'','passwd'=>'','dbname'=>'');
test($filen2,$fg,%sys_config);

sub test
{
        print %_;
        print $_[0];
        print $_[1];
        print %_[2];
}

请问我要怎么弄才能正确传递哈希参数的值到函数中?或者传递的时候$filen2,$fg不会随机改变位置。

谢谢
UP
用 引用 传参

[Copy to clipboard] [ - ]
CODE:
my ($filen2)="t.cfg";
my (%sys_config);
my ($fg)="=";
%sys_config=('user'=>'','passwd'=>'','dbname'=>'');
test($filen2,$fg,\%sys_config);

sub test
{
        print %_;
        print $_[0];
        print $_[1];
        $refh = $_[2];
        while(my ($key,$value)=each %$refh ){
                print "$key -- $value\n";
        }
}

%_[2] 是什么。。。 这里错了吧
多谢hitsubunnu

我才开始学perl,%_[2]是乱蒙的,见笑了。