sub check_conflicts { my @xref_out = `perl -MO=Xref,-r $0 2> /dev/null`; @xref_out = grep { /ARGV/ } @xref_out; my %conflicts; for (@xref_out) { my ($module_path, $object ) = split /\s/; $module_path =~ s|/|::|g; my @object_path = split /::/, $object; for (0 .. $#object_path) { my $module_name = join "::", @object_path[0..$_]; if ($module_path =~ /$module_name\.pm/) { $conflicts{$module_name} = 1; last; } }; } say $_ for keys %conflicts; }