Sample code for 30+ languages & platforms
Perl

Implement Preprocessor #include with StringBuilder

Demonstrates how to implement #include with a Chilkat StringBuilder.

Chilkat Perl Downloads

Perl
use chilkat();

# First build a string that has a preprocessor include
$sbSrc = chilkat::CkStringBuilder->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() . "\r\n";

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

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

$filePath = $sbSrc->getAfterBetween("#include","<",">");
if ($sbSrc->get_LastMethodSuccess() != 1) {
    print "No #include's found." . "\r\n";
    exit;
}

print "filePath: " . $filePath . "\r\n";

# Load the contents of the filePath
$sbIncludeFile = chilkat::CkStringBuilder->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() . "\r\n";

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