perl – 如何获取__LINE__用于调用函数?

前端之家收集整理的这篇文章主要介绍了perl – 如何获取__LINE__用于调用函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
基本上,我的问题是 this,除了perl而不是PHP.

我知道warn()管理它,但是再次warn()是核心perl,所以我理解它是否通常不可能.

附录(如果链接最终失败)

功能

sub logm
{
  my ($msg,$line_no) = @_;
  # ... 
}

我想包含__LINE__(和__FILE__,但这不是必需的),但不希望每次都像现在这样包含它作为参数.

# This is attrocIoUs
logm "That file handle is now closed",__LINE__;

解决方法

检查 caller功能,

sub logm {
  my ($msg) = @_;
  my ($package,$filename,$line) = caller;

  print "'$msg' from file:$filename; line:$line\n";
}

logm("message");

猜你在找的Perl相关文章