![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /proc/1544360/cwd/usr/share/doc/perl-Filter/examples/closure/ |
package Include ; use Filter::Util::Call ; use IO::File ; use Carp ; sub import { my ($self) = shift ; my ($filename) = shift ; my $fh = new IO::File "<$filename" or croak "Cannot open file '$filename': $!" ; my $first_time = 1 ; my ($orig_filename, $orig_line) = (caller)[1,2] ; ++ $orig_line ; filter_add( sub { $_ = <$fh> ; if ($first_time) { $_ = "#line 1 $filename\n$_" ; $first_time = 0 ; } if ($fh->eof) { $fh->close ; $_ .= "#line $orig_line $orig_filename\n" ; filter_del() ; } 1 ; }) } 1 ;