Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在Perl中找到打印声明的源位置?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在Perl中找到打印声明的源位置?
#!/usr/bin/perl

foo();
bar();

sub foo {
  print "foo\n";
}

sub bar {
  print "bar\n";
}

输出为:

>perl test.pl 
foo
bar

我想以某种方式找到能够看到(或类似的东西)

>perl test.pl 
main::foo> foo
main::bar> bar

原因是我正在尝试追踪一些胭脂输出,并且找不到它的位置在一个大的代码库.

解决方法

尝试这个:
#!/usr/bin/env perl

use Strict;
use warnings;
use Tie::STDOUT print => sub {
  my ( $pkg,$file,$line ) = caller(2);
  print "$pkg,$line :: ",@_;
};

print "Hello,World\n";

这使:

$perl tp.pl
main,tp.pl,10 :: Hello,World

更新:我刚刚发布了Devel::Ditto

$perl -MDevel::Ditto myprog.pl
[main,t/myprog.pl,9] This is regular text
[main,10] This is a warning
[MyPrinter,t/lib/MyPrinter.pm,7] Hello,World
[MyPrinter,8] Whappen?

大佬总结

以上是大佬教程为你收集整理的如何在Perl中找到打印声明的源位置?全部内容,希望文章能够帮你解决如何在Perl中找到打印声明的源位置?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。