phpman > man > Filter::cpp

Markdown | JSON | MCP    

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.

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-13 14:13 @216.73.216.28
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!