用散列传递命名参数

尽管Perl没有提供自动命名参数的传递方法(换句话说,没有提供所谓的“正式参数”的概念),

但我们在调用子程序时仍然有很多方法,可以同时传递包含名字和值的参数列表。

sub uses_named_params {
  my %param = (
   foo => 'val1',
   bar => 'val2',
  );

  my %input = @_ ;  #以散列的方式获得参数

 # 将读入的参数和默认参数结合起来 
 @param{keys %input} = values %input;
}
posted @ 2013-04-16 14:03  新闻官  阅读(159)  评论(0编辑  收藏  举报