Filter::cpp(3pm)
NAME
Filter::cpp - cpp source filter
SYNOPSIS
use Filter::cpp ;
DESCRIPTION
This source filter pipes the current source file through the C preprocessor (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.