gpt4 book ai didi

regex - 如何在执行时在 perl 脚本中显示子例程的数量及其名称?

转载 作者:太空狗 更新时间:2023-10-29 11:23:48 25 4
gpt4 key购买 nike

以下面的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com