package include; use IO::File; use Regexp::Common 'quoted'; use Filter::Simple; =head1 SYNPOSIS use include; include Foo::Bar; include "somefile.pl"; =cut FILTER_ONLY code => sub { local $/; s< ^ \s* include \s+ (.*?) ; $> ( my $f = $1; if($f =~ /^['"]) { (undef, undef, $f) = $f =~ $RE{quoted}{-keep}; } else { ($f = "$f.pm") =~ s<::>(/)g; } my $fh = IO::File->new($f) or die("include: $!"); $fh->getlines )xg; } ;