Sample code for 30+ languages & platforms
Perl

SQS List Queues

See more Amazon SQS Examples

Returns a list of your Amazon SQS queues. The maximum number of queues that can be returned is 1000. If you specify a value for the optional QueueNamePrefix query parameter, only queues with a name beginning with the specified value are returned.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

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

my $rest = Chilkat2::Rest->new;

# Connect to the Amazon AWS REST server.
# such as https://sqs.us-west-2.amazonaws.com/
my $bTls = 1;
my $port = 443;
my $bAutoReconnect = 1;
my $success = $rest->Connect('sqs.us-west-2.amazonaws.com', $port, $bTls, $bAutoReconnect);

# Provide AWS credentials for the REST call.
my $authAws = Chilkat2::AuthAws->new;
$authAws->AccessKey('AWS_ACCESS_KEY');
$authAws->SecretKey('AWS_SECRET_KEY');
# the region should match our URL above..
$authAws->Region('us-west-2');
$authAws->ServiceName('sqs');

$rest->SetAuthAws($authAws);

$rest->AddQueryParam('Action', 'ListQueues');
# List only queues having a name starting with "c".
# Comment out this line to list all queues.
$rest->AddQueryParam('QueueNamePrefix', 'c');

my $responseXml = $rest->FullRequestNoBody('GET', '/');
if (!$rest->LastMethodSuccess) {
    print $rest->LastErrorText, "\n";
    exit;
}

# A successful response will have a status code equal to 200.
if ($rest->ResponseStatusCode != 200) {
    print 'response status code = ', $rest->ResponseStatusCode, "\n";
    print 'response status text = ', $rest->ResponseStatusText, "\n";
    print 'response header: ', $rest->ResponseHeader, "\n";
    print 'response body: ', $responseXml, "\n";
    exit;
}

# Examine the successful XML response.
my $xml = Chilkat2::Xml->new;
$xml->LoadXml($responseXml);
print $xml->GetXml(), "\n";
print "----\n";

# A successful response looks like this:
# <?xml version="1.0" encoding="utf-8" ?>
# <ListQueuesResponse xmlns="http://queue.amazonaws.com/doc/2012-11-05/">
#     <ListQueuesResult>
#         <QueueUrl>https://sqs.us-west-2.amazonaws.com/123491855557/chilkatTest</QueueUrl>
#         <QueueUrl>https://sqs.us-west-2.amazonaws.com/123496666627/chilkatses</QueueUrl>
#     </ListQueuesResult>
#     <ResponseMetadata>
#         <RequestId>77bce138-fbcc-5e42-9ee3-b15c1f7178c2</RequestId>
#     </ResponseMetadata>
# </ListQueuesResponse>

# Get each queue URL..
$xml->FindChild2('ListQueuesResult');
my $i = 0;
my $numQueues = $xml->NumChildren;
while ($i < $numQueues) {
    print 'QueueUrl: ', $xml->GetChildContentByIndex($i), "\n";
    $i = $i + 1;
}

$xml->GetRoot2();