#!/usr/local/bin/perl -w use strict; use warnings; use OAuth::Cmdline; use LWP::UserAgent; use JSON qw( from_json ); use YAML qw( Dump ); my( $user ) = @ARGV; die "usage: $0 user" if !defined $user; my $oauth = OAuth::Cmdline->new( site => "spotify" ); my $ua = LWP::UserAgent->new(); $ua->default_header( $oauth->authorization_headers ); my $resp = $ua->get( "https://api.spotify.com/v1" . "/users/$user/playlists/" . "022PMTci8phXA4CTJjwWEF" ); if( $resp->is_error ) { die "Error: ", $resp->message(); } my $result = from_json( $resp->content() ); my @playlists = (); for my $item ( @{ $result->{ tracks }->{ items } } ) { my $track = $item->{ track }; push @playlists, { track => $track->{ name }, artist => $track->{ artists }->[0]->{ name }, album => $track->{ album }->{ name } }; } print Dump( \@playlists );