use 5.010; use strict; use warnings; use Carp; #### use Include 'header.pi' #### use Include 'agent.pi' #### package Include; use 5.010; use strict; use warnings; use Carp; use Filter::Util::Call; sub import { my (undef, @files) = @_; my (undef, $origin, $line) = caller; filter_add sub { filter_del(); while (defined (my $file = shift(@files))) { $_ .= "\n# line 1 $file\n"; local $/; undef $!; unless (open FH, "<", $file and $_ .= and !$!) { carp "Can not include '$file':$!"; return -1; } close FH; } ++$line; $_ .= "\n# line $line $origin\n"; return 1; }; } 1;