Sample code for 30+ languages & platforms
Perl Requires Chilkat v9.5.0.77+

StringBuilder GetBefore

Demonstrates the StringBuilder.GetBefore method.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

my $sb = Chilkat2::StringBuilder->new;
my $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.
my $removeFlag = 0;
my $marker = '.';
my $substr = $sb->GetBefore($marker, $removeFlag);
print 'substr = ', $substr, "\n";
print 'sb contains: ', $sb->GetAsString(), "\n";

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

$removeFlag = 1;
$substr = $sb->GetBefore($marker, $removeFlag);
print 'substr = ', $substr, "\n";
print 'sb contains: ', $sb->GetAsString(), "\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->Length > 0) {
    $substr = $sb->GetBefore($marker, $removeFlag);
    print 'substr = ', $substr, ', sb contains: ', $sb->GetAsString(), "\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: