Perl Diver 2.31
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

Filter::cpp

Name Filter::cpp
Version 1.58
Located at /usr/lib64/perl5/vendor_perl
File /usr/lib64/perl5/vendor_perl/Filter/cpp.pm
Is Core No
Search CPAN for this module Filter::cpp
Documentation Filter::cpp
Module Details Filter::cpp

NAME

Filter::cpp - cpp source filter


SYNOPSIS

    use Filter::cpp ;


DESCRIPTION

This source filter pipes the current source file through the C pre-processor (cpp) if it is available.

As with all source filters its scope is limited to the current source file only. Every file you want to be processed by the filter must have a

    use Filter::cpp ;

near the top.

Here is an example script which uses the filter:

    use Filter::cpp ;
    #define FRED 1
    $a = 2 + FRED ;
    print "a = $a\n" ;
    #ifdef FRED
    print "Hello FRED\n" ;
    #else
    print "Where is FRED\n" ;
    #endif

And here is what it will output:

    a = 3
    Hello FRED

This example below, provided by Michael G Schwern, shows a clever way to get Perl to use a C pre-processor macro when the Filter::cpp module is available, or to use a Perl sub when it is not.

    # use Filter::cpp if we can.
    BEGIN { eval 'use Filter::cpp' }
    sub PRINT {
        my($string) = shift;
    #define PRINT($string) \
        (print $string."\n")
    }

    PRINT("Mu");

Look at Michael's Tie::VecArray module for a practical use.


AUTHOR

Paul Marquess


DATE

11th December 1995.

Perl Diver brought to you by ScriptSolutions.com © 1997- 2024