in reply to whichpm

I've been using something nearly identical for a while - even named it whichpm as well.
use strict; use warnings; use File::Spec::Functions qw(catfile); my @loaded = grep { eval "require $_"; !$@ ? 1 : ($@ =~ s/\(\@INC contains: \Q@INC\E\)//, warn("Failed lo +ading $_: $@"), 0); } @ARGV; my @pm = map catfile(split '::') . (/\.pm\z/ ? '' : '.pm'), @loaded; print "@INC{@pm}\n";

Makeshifts last the longest.