#!perl -w use strict; use JSON::XS; use Backblaze::B2; use Getopt::Long; GetOptions( 'c|credentials:s' => \my $credentials_file, ); my ($bucket_name, @files) = @ARGV; =head1 SYNOPSIS =cut my $b2 = Backblaze::B2->new( version => 'v1', log_message => sub { warn sprintf "[%d] %s\n", @_; }, ); my $credentials = $b2->read_credentials( $credentials_file ); if( ! $credentials->{authorizationToken}) { $b2->authorize_account(%$credentials); }; (my $bucket) = grep { $_->name =~ /$bucket_name/ or $_->id eq $bucket_name } sort { $a->name cmp $b->name } $b2->buckets; if( ! $bucket ) { die "No bucket found with name matching '$bucket_name'"; }; print sprintf "Uploading to bucket %s\n", $bucket->name; for my $file (@files) { my $f = $bucket->upload_file( file => $file, ); print sprintf "Uploaded %s\n", $f->name; };