Sample code for 30+ languages & platforms
Perl

StringBuilder GetBefore

Demonstrates the StringBuilder.GetBefore method.

The GetBefore method was added in Chilkat v9.5.0.77

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

$sb = chilkat::CkStringBuilder->new();
$success = $sb->Append("www.chilkatsoft.com");

# The GetBefore method returns the contents of the string up to but not including
# the marker string.  If the remove flag is 1, then both the returned string AND
# the marker are removed.
$removeFlag = 0;
$marker = ".";
$substr = $sb->getBefore($marker,$removeFlag);
print "substr = " . $substr . "\r\n";
print "sb contains: " . $sb->getAsString() . "\r\n";

# Output:
# substr = www
# sb contains: www.chilkatsoft.com

$removeFlag = 1;
$substr = $sb->getBefore($marker,$removeFlag);
print "substr = " . $substr . "\r\n";
print "sb contains: " . $sb->getAsString() . "\r\n";

# Output:
# substr = www
# sb contains: chilkatsoft.com

# If the marker is not found, and the removeFlag is 1,
# then the entire string is returned and the sb is cleared.
# For example:
$sb->Clear();
$sb->Append("111--222--333--444");
$marker = "--";
$removeFlag = 1;
while (($sb->get_Length() > 0)) {
    $substr = $sb->getBefore($marker,$removeFlag);
    print "substr = " . $substr . ", sb contains: " . $sb->getAsString() . "\r\n";
}

# Output is:
# substr = 111, sb contains: 222--333--444
# substr = 222, sb contains: 333--444
# substr = 333, sb contains: 444
# substr = 444, sb contains: