Sample code for 30+ languages & platforms
Perl

Implement Preprocessor #include with StringBuilder

Demonstrates how to implement #include with a Chilkat StringBuilder.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

# First build a string that has a preprocessor include
my $sbSrc = Chilkat2::StringBuilder->new;
$sbSrc->Append("1\r\n2\r\n3\r\n");
$sbSrc->Append("#include <qa_data/txt/helloWorld.txt>\r\n");
$sbSrc->Append("4\r\n5\r\n");

print $sbSrc->GetAsString(), "\n";

# sbSrc contains:
#     1
#     2
#     3
#     #include <qa_data/txt/helloWorld.txt>
#     4
#     5

# The qa_data/txt/helloWorld.txt file contains "Hello World!"

my $filePath = $sbSrc->GetAfterBetween('#include', '<', '>');
if (!$sbSrc->LastMethodSuccess) {
    print "No #include's found.\n";
    exit;
}

print 'filePath: ', $filePath, "\n";

# Load the contents of the filePath
my $sbIncludeFile = Chilkat2::StringBuilder->new;
$sbIncludeFile->LoadFile($filePath, 'utf-8');

# Replace the first occurrence of #include <...> line with the contents of the include file.
$sbSrc->ReplaceAllBetween('#include', '>', $sbIncludeFile->GetAsString(), 1);

print $sbSrc->GetAsString(), "\n";

# sbSrce now contains:
#     1
#     2
#     3
#     Hello World!
#     4
#     5