#!/usr/bin/perl use warnings; use strict; use 5.18.0; use Devel::Examine::Subs; use File::Find; my $des = Devel::Examine::Subs->new(); my $search = $ARGV[0]; find({ wanted => \&check_subs, no_chdir => 1 }, 'business-isp/lib/Business/ISP' ); sub check_subs { if (! -f or ! /(?:\.pm|\.pl)$/){ return; } my $file = "$File::Find::name"; my @has = $des->has({file => $file, search => $search}); return if ! @has; say "\n$file:" ; say "\t$_" for @has; }