小编Iva*_*zar的帖子

如何创建一个接受代码块的Perl子例程

我有一组子程序,如下所示:

sub foo_1($) {
  my $name = shift;
  my $f; 

  run_something();
  open($f, $name) or die ("Couldn't open $name");
  while (<$f>) {
    //Something for foo_1()
  }
  close($f); 
  do_something_else();

}
Run Code Online (Sandbox Code Playgroud)

我有四个或更多看起来相同,唯一改变的是while块的主体.我想抽象一下并停止复制粘贴代码.

  • 有没有办法编写一个接受代码块并执行它的子程序?

为了给出更多的上下文,不同的foo子程序是一个不同的有限状态机(FSM),它读取不同文件的内容并将数据提供给哈希引用.也许比我想要完成的事情更聪明.

perl arguments subroutine

18
推荐指数
3
解决办法
4460
查看次数

标签 统计

arguments ×1

perl ×1

subroutine ×1