Filter

 view release on metacpan or  search on metacpan

Call/Call.pm  view on Meta::CPAN


sub filter_add($)
{
    my($obj) = @_ ;

    # Did we get a code reference?
    my $coderef = (ref $obj eq 'CODE');

    # If the parameter isn't already a reference, make it one.
    if (!$coderef and (!ref($obj) or ref($obj) =~ /^ARRAY|HASH$/)) {
      $obj = bless (\$obj, (caller)[0]);
    }

    # finish off the installation of the filter in C.
    Filter::Util::Call::real_import($obj, (caller)[0], $coderef) ;
}

XSLoader::load('Filter::Util::Call');

1;
__END__

=head1 NAME

Filter::Util::Call - Perl Source Filter Utility Module

examples/closure/Include.pm  view on Meta::CPAN

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 ;



( run in 2.440 seconds using v1.01-cache-2.11-cpan-800906f7e73 )