sub generic_rv_test { my $rv = shift; foreach my $key (keys %$rv) { if (exists($rv->{$key}{used_by})) { # test used_by ... } else { # fail test } } } my $rv = scan_deps( files => ['t/data/pluggable/Foo.pm'], recurse => 1, ); generic_rv_test($rv); #### use Data::Dump qw(dump); print dump $rv; #### { "Pluggable.pm" => { file => "C:/Perl/site/lib/Module/Pluggable.pm", key => "Module/Pluggable.pm", type => "module", }, } #### { "Pluggable.pm" => { file => "C:/Perl/site/lib/Module/Pluggable.pm", key => "Module/Pluggable.pm", type => "module", used_by => ["Foo.pm"], }, }