Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for filter::cpp (redhat section 3)

Filter::cpp(3)						User Contributed Perl Documentation					    Filter::cpp(3)

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 mod- ule 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 v5.8.0 2003-01-27 Filter::cpp(3)