Sample code for 30+ languages & platforms
Perl

FTP Upload / Download to StringBuilder

Demonstrate how to upload from a Chilkat StringBuilder object, and download into a StringBuilder object.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# This example assumes Chilkat Ftp2 to have been previously unlocked.
# See Unlock Ftp2 for sample code.

$ftp = chilkat::CkFtp2->new();

$ftp->put_Hostname("www.my-ftp-server.com");
$ftp->put_Username("mFtpLogin");
$ftp->put_Password("myFtpPassword");

# Connect to the FTP server.
$success = $ftp->ConnectOnly();
if ($success != 1) {
    print $ftp->lastErrorText() . "\r\n";
    exit;
}

# Authenticate with the FTP server.
$success = $ftp->LoginAfterConnectOnly();
if ($success != 1) {
    print $ftp->lastErrorText() . "\r\n";
    exit;
}

$sbA = chilkat::CkStringBuilder->new();
$sbA->LoadFile("qa_data/hamlet.xml","utf-8");

# Upload the contents of sbA to the FTP server.
$bIncludeBOM = 0;
$remoteFilename = "hamletFromSb.xml";
$success = $ftp->PutFileSb($sbA,"utf-8",$bIncludeBOM,$remoteFilename);
if ($success != 1) {
    print $ftp->lastErrorText() . "\r\n";
    exit;
}

# Download...
$sbB = chilkat::CkStringBuilder->new();
$success = $ftp->GetFileSb($remoteFilename,"utf-8",$sbB);
if ($success != 1) {
    print $ftp->lastErrorText() . "\r\n";
    exit;
}

# Verify that sbA and sbB have the exact same contents.
print "size of sbA: " . $sbA->get_Length() . "\r\n";
$bCaseSensitive = 1;
if ($sbA->ContentsEqualSb($sbB,$bCaseSensitive) == 1) {
    print "Contents are equal. Success." . "\r\n";
}
else {
    print "Contents are NOT equal.  Failed." . "\r\n";
}

$ftp->Disconnect();