logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Filter::cpp - cpp source filter

Author

       Paul Marquess

Date

       11th December 1995.

perl v5.40.0                                       2024-11-17                                   Filter::cpp(3pm)

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.

Name

       Filter::cpp - cpp source filter

Synopsis

           use Filter::cpp ;

See Also