在Perl中转到与本地函数

时间:2015-06-10 11:27:36

标签: perl function goto

在Perl中,使用goto或本地函数是否更好?为什么使用示例?

例如,我正在使用代码

sub data {
    data;
}

data();

goto L:

L: if ( $i == 0 )
   print "Hello!!!!";

2 个答案:

答案 0 :(得分:6)

  

程序员不会死。他们只是GOSUB没有RETURN

那就是说,在Perl中使用goto

  • 如果您希望执行一次语句,只需编写该语句并且不使用任何流控制
  • 如果您希望程序多次执行这些内容,请将其置于循环中
  • 如果您希望从不同的地方执行它们,请将它们放在子
  • 如果您希望sub在不同的程序中可用,请将它们放在模块中
  • 不要使用goto

在Perl中有一个goto有意义的地方。 Matt Trout在他的博客文章No, not that goto, the other goto中谈到了这一点。

答案 1 :(得分:0)

传统观点认为其他结构比goto更好。

如果您想重复做某事,请使用循环。

如果您想有条件地执行某些操作,请使用带有if的块

如果你想去某个地方并回来,请使用一个功能。

如果你想提前纾困并“直接跳到最后”,通常可以使用例外来更好地编写。 (Perl轻松管理