GRAYBYTE WORDPRESS FILE MANAGER2005

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /lib64/perl5/vendor_perl/Filter/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /lib64/perl5/vendor_perl/Filter//cpp.pm
package Filter::cpp;
 
use Filter::Util::Exec ;
use Config ;
use strict;
use warnings;

our $VERSION = '1.58' ;

my $cpp;
my $sep;
if ($^O eq 'MSWin32') {
    $cpp = 'cpp.exe' ;
    $sep = ';';
}
else {
    ($cpp) = $Config{cppstdin} =~ /^(\S+)/;
    $sep = ':';
}

if (! $cpp) {
    require Carp;
    Carp::croak ("Cannot find cpp\n");
}

# Check if cpp is installed
if ( ! -x $cpp) {
    my $foundCPP = 0 ;
    foreach my $dir (split($sep, $ENV{PATH}), '')
    {
        if (-x "$dir/$cpp")
        {
            $foundCPP = 1;
            last ;
        }
    }

    if (! $foundCPP) {
        require Carp;
        Carp::croak("Cannot find cpp\n");
    }
}

sub import 
{ 
    my($self, @args) = @_ ;

    if ($^O eq 'MSWin32') {
        Filter::Util::Exec::filter_add ($self, 'cmd', '/c', 
		"cpp.exe 2>nul") ;
    }
    else {
        Filter::Util::Exec::filter_add ($self, 'sh', '-c', 
		"$Config{'cppstdin'} $Config{'cppminus'} 2>/dev/null") ;
    }
}

1 ;
__END__

=head1 NAME

Filter::cpp - cpp source filter

=head1 SYNOPSIS

    use Filter::cpp ;

=head1 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.

=head1 AUTHOR

Paul Marquess 

=head1 DATE

11th December 1995.

=cut


[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
March 05 2024 23:47:46
root / root
0755
Util
--
March 03 2024 19:11:21
root / root
0755
cpp.pm
2.135 KB
November 15 2017 09:08:16
root / root
0644
decrypt.pm
2.929 KB
November 15 2017 09:08:16
root / root
0644
exec.pm
1.227 KB
November 15 2017 09:08:16
root / root
0644
sh.pm
1.36 KB
November 15 2017 09:08:16
root / root
0644
tee.pm
0.774 KB
November 15 2017 09:08:16
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF