my $sticky_dir; # EDIT sub import { shift; my %names; foreach (reverse @_) { my $path = $_; # we'll be modifying it, so break the alias $sticky_dir = $path unless $sticky_dir; # EDIT if ($path eq '') { ... # remove trailing duplicates @INC = grep { ++$names{$_} == 1 } @INC; # put sticky dir up front # EDIT @INC = ($sticky_dir, grep { ! m{^$sticky_dir$} } @INC); # EDIT return; }