作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
以下面的 Perl 脚本 script.pl 为例:
use strict;
use warnings;
sub f1
{statements}
sub f2
{statements}
sub f3
{statements}
f1();f2();f3();
当我执行脚本时,它应该显示以下输出:
./script.pl
number of subroutines:3
names of subroutines:f1 f2 f3
代码执行时,如何统计子程序的个数,获取子程序的名称,然后在运行时打印出来?
最佳答案
您正在寻找Devel::Symdump :
#!/usr/bin/env perl
use strict;
use warnings;
{
require Devel::Symdump;
my $sym = Devel::Symdump->new('main');
my @subs = $sym->functions;
printf "Number of subroutines: %d\n", scalar @subs;
printf "Names of subroutines: %s\n", join(q{, } => map { s/^main:://; $_ } @subs);
}
sub f1 {
# statements
}
sub f2 {
# statements
}
sub f3 {
# statements
}
f1();
f2();
f3();
输出:
Number of subroutines: 3Names of subroutines: f2, f1, f3
关于regex - 如何在执行时在 perl 脚本中显示子例程的数量及其名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44387132/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!