功能的“最后”操作符?

时间:2011-04-04 12:09:56

标签: perl

Perl是否有操作员退出函数或last函数?

sub f {

    # some code here

    if ($v == 10) {
    # goto end of function/exit function/last
    }

    # some code here
}

goto可以做到这一点,但是它以某种方式接缝错误了?

2 个答案:

答案 0 :(得分:16)

使用return;退出子程序。

答案 1 :(得分:0)

嗯,...可以使用goto转到子程序的末尾:

sub f {

  # some code here

  if ($v == 10) {
    goto END;
  }

  # some code here
  END:
}

或者使用last跳到子程序的末尾(如果添加一个块):

sub f {
  END: {

    # some code here

    if ($v == 10) {
      last END;
    }

    # some code here

  } # END
}

您真正想要使用的是return

sub f {

  # some code here

  if ($v == 10) {
    return;
  }

  # some code here

}

如果您想了解哪些功能可用,我会结帐the perlfunc manpage