$access_key, $secret_keyおよび、hostに適当な値を入力してください。
下記のサンプルだと、bucketの一覧およびbucket内のコンテンツの一覧を表示します。
#!/usr/bin/perl
use strict;
use warnings;
use Amazon::S3;
my $access_key = '<input access_key>';
my $secret_key = '<input secret_key>';
my $conn = Amazon::S3->new({
aws_access_key_id => $access_key,
aws_secret_access_key => $secret_key,
host => '<input host>', # S3使用の場合は省略
retry => 1,
});
my @buckets = @{$conn->buckets->{buckets} || []};
foreach my $bucket (@buckets) {
print $bucket->bucket . "\t" . $bucket->creation_date . "\n";
my @keys = @{$bucket->list_all->{keys} || []};
foreach my $key (@keys) {
print "+- "."$key->{key}\t$key->{size}\t$key->{last_modified}\n";
}
}
実行結果は下記の通りです。
$ ./s3.pl
testsnunmano2 2012-11-15T16:26:50.000Z
+- crm-search-result.csv 2260132 2012-11-15T16:26:56.000Z
testsnumano 2012-11-12T14:47:58.000Z
+- CentOS-6.3-x86_64-LiveCD.iso 725614592 2012-11-18T08:52:52.000Z
こちらを参考にしました。(ほとんどコピペです)
細かいメソッドについては、Amazon::S3::Bucketを参考にしました。
add_key_filenameやget_key_filenameで、fileのPUT,GETもできそうです。
後になって気づきましたが、Furl::S3 も使えそうです。
次は、javascriptに挑戦です。