Sample code for 30+ languages & platforms
Perl

SFTP Download Files Matching a Pattern

See more SFTP Examples

Demonstrates how to download files in a directory matching one or more patterns (such as "*.zip" or "abc*_*0719.csv".

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$sftp = chilkat::CkSFtp->new();

$success = $sftp->Connect("my-ssh-server.com",22);
if ($success == 1) {
    $success = $sftp->AuthenticatePw("mySshLogin","mySshPassword");
}

if ($success == 1) {
    $success = $sftp->InitializeSftp();
}

if ($success != 1) {
    print $sftp->lastErrorText() . "\r\n";
    exit;
}

# The SyncTreeDownload method can be used non-recursively to download all files matching a set of patterns.

# This example will download all files, but only those files having filenames
# that match *.csv and *.eml
$sftp->put_SyncMustMatch("*.eml; *.gif");

$remoteDir = "syncDownloadTest/someDir";
$localDir = "qa_output";

# mode=0: Download all matching files according to SyncMustMatch
$mode = 0;

# do not recursively traverse the remote directory tree.
$recursive = 0;

$success = $sftp->SyncTreeDownload($remoteDir,$localDir,$mode,$recursive);
if ($success != 1) {
    print $sftp->lastErrorText() . "\r\n";
    exit;
}

print "Success." . "\r\n";