Thanks for reply, i will try to be more specific in my request.
I want to retrieve a particular data in structure type hash
To print all the hash, i use the code :
use strict;
use warnings;
use Data::Dumper;
my $myquery="Robert Palmer";
use WebService::GData::YouTube;
use WebService::GData::Error;
my $yt = new WebService::GData::YouTube();
$yt->query()->q("$myquery")->limit(10,2);
$yt->query($myquery)->maxresults(20);
my $videos = $yt->search_video();
print Dumper($videos);
This will return:
$VAR1 = [
bless( {
'_recorded' => bless( {
'_children' => [],
'namespaces' => {}
}, 'WebService::GData::YouTub
+e::YT::Recorded' ),
'_updated' => bless( {
'text' => '2012-12-10T13:35:
+15.000Z',
'_children' => [],
'namespaces' => {}
}, 'WebService::GData::Node::A
+tom::Updated' ),
'_title' => bless( {
'text' => 'Robert Palmer - Add
+icted To Love',
'_children' => [],
'namespaces' => {}
}, 'WebService::GData::Node::Ato
+m::Title' ),
'_id' => bless( {
'text' => 'tag:youtube.com,2008:v
+ideo:XcATvu5f9vE',
'_children' => [],
'namespaces' => {}
}, 'WebService::GData::Node::Atom::
+Id' ),
'_entity' => bless( {
'gd:etag' => 'W/"DEIFRH47eCp7
+I2A9WhNWEUk."',
'_children' => [
bless( {
'te
+xt' => '2009-12-25T07:54:08.000Z',
'_c
+hildren' => [],
'na
+mespaces' => {}
}, 'W
+ebService::GData::Node::Atom::Published' ),
bless( {
'_c
+hildren' => [],
'na
+mespaces' => {}
}, 'W
+ebService::GData::Node::Atom::Summary' ),
bless( {
'sr
+c' => 'http://www.youtube.com/v/XcATvu5f9vE?version=3&f=videos&app=yo
+utube_gdata',
'_c
+hildren' => [],
'ty
+pe' => 'application/x-shockwave-flash',
'na
+mespaces' => {}
}, 'W
+ebService::GData::Node::Atom::Content' ),
bless( {
'ar
+ray' => [
+ bless( {
+ '_name' => bless( {
+ 'text' => 'RobertPalmerVEVO',
+ '_children' => [],
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Ato
+m::Name' ),
+ '_uri' => bless( {
+ 'text' => 'http://gdata.youtube
+.com/feeds/api/users/RobertPalmerVEVO',
+ '_children' => [],
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Atom
+::Uri' ),
+ '_entity' => bless( {
+ '_children' => [
+ $VAR1->[0]{
+'_entity'}{'_children'}[3]{'array'}[0]{'_name'},
+ $VAR1->[0]{
+'_entity'}{'_children'}[3]{'array'}[0]{'_uri'}
+ ],
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::A
+tom::Author' )
+ }, 'WebService::GData::Node::Atom::AuthorEntity' )
+ ],
'ca
+che' => {}
}, 'W
+ebService::GData::Collection' ),
bless( {
'ar
+ray' => [
+ bless( {
+ '_children' => [],
+ 'scheme' => 'http://schemas.google.com/g/2005#kind
+',
+ 'term' => 'http://gdata.youtube.com/schemas/2007#v
+ideo',
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Atom::Category' ),
+ bless( {
+ '_children' => [],
+ 'label' => 'Music',
+ 'scheme' => 'http://gdata.youtube.com/schemas/2007
+/categories.cat',
+ 'term' => 'Music',
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Atom::Category' )
+ ],
'ca
+che' => {}
}, 'W
+ebService::GData::Collection' ),
$VAR1->[0]{'
+_id'},
bless( {
'ar
+ray' => [
+ bless( {
+ 'rel' => 'alternate',
+ 'href' => 'http://www.youtube.com/watch?v=XcATvu5f
+9vE&feature=youtube_gdata',
+ '_children' => [],
+ 'type' => 'text/html',
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Atom::Link' ),
+ bless( {
+ 'rel' => 'http://gdata.youtube.com/schemas/2007#vi
+deo.responses',
+ 'href' => 'http://gdata.youtube.com/feeds/api/vide
+os/XcATvu5f9vE/responses',
+ '_children' => [],
+ 'type' => 'application/atom+xml',
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Atom::Link' ),
+ bless( {
+ 'rel' => 'http://gdata.youtube.com/schemas/2007#vi
+deo.related',
+ 'href' => 'http://gdata.youtube.com/feeds/api/vide
+os/XcATvu5f9vE/related',
+ '_children' => [],
+ 'type' => 'application/atom+xml',
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Atom::Link' ),
+ bless( {
+ 'rel' => 'http://gdata.youtube.com/schemas/2007#up
+loader',
+ 'href' => 'http://gdata.youtube.com/feeds/api/user
+s/2cgN9BQEA14z3ryXNmJjkA',
+ '_children' => [],
+ 'type' => 'application/atom+xml',
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Atom::Link' ),
+ bless( {
+ 'rel' => 'self',
+ 'href' => 'http://gdata.youtube.com/feeds/api/vide
+os/XcATvu5f9vE',
+ '_children' => [],
+ 'type' => 'application/atom+xml',
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Atom::Link' )
+ ],
'ca
+che' => {}
}, 'W
+ebService::GData::Collection' ),
$VAR1->[0]{'
+_title'},
$VAR1->[0]{'
+_updated'},
bless( {
'_d
+uration' => bless( {
+ 'seconds' => '236',
+ '_children' => [],
+ 'namespaces' => {}
+ }, 'WebService::GData::YouTube::YT::Duration' ),
'_d
+escription' => bless( {
+ 'text' => 'Music video by Robert Palmer perfo
+rming Addicted To Love. (C) 1985 The Island Def Jam Music Group',
+ '_children' => [],
+ 'type' => 'plain',
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Media::Description
+' ),
'_t
+itle' => bless( {
+ 'text' => 'Robert Palmer - Addicted To Love',
+ '_children' => [],
+ 'type' => 'plain',
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Media::Title' ),
'_a
+spect_ratio' => bless( {
+ '_children' => [],
+ 'namespaces' => {}
+ }, 'WebService::GData::YouTube::YT::AspectRati
+o' ),
'_t
+humbnail' => bless( {
+ 'array' => [
+ bless( {
+ 'yt:name' => 'default',
+ 'width' => 120,
+ 'time' => '00:01:58',
+ '_children' => [],
+ 'url' => 'http://i.ytimg.
+com/vi/XcATvu5f9vE/default.jpg',
+ 'height' => 90,
+ 'namespaces' => {}
+ }, 'WebService::GData::Node
+::Media::Thumbnail' ),
+ bless( {
+ 'yt:name' => 'mqdefault',
+ 'width' => 320,
+ '_children' => [],
+ 'url' => 'http://i.ytimg.
+com/vi/XcATvu5f9vE/mqdefault.jpg',
+ 'height' => 180,
+ 'namespaces' => {}
+ }, 'WebService::GData::Node
+::Media::Thumbnail' ),
+ bless( {
+ 'yt:name' => 'hqdefault',
+ 'width' => 480,
+ '_children' => [],
+ 'url' => 'http://i.ytimg.
+com/vi/XcATvu5f9vE/hqdefault.jpg',
+ 'height' => 360,
+ 'namespaces' => {}
+ }, 'WebService::GData::Node
+::Media::Thumbnail' ),
+ bless( {
+ 'yt:name' => 'start',
+ 'width' => 120,
+ 'time' => '00:00:59',
+ '_children' => [],
+ 'url' => 'http://i.ytimg.
+com/vi/XcATvu5f9vE/1.jpg',
+ 'height' => 90,
+ 'namespaces' => {}
+ }, 'WebService::GData::Node
+::Media::Thumbnail' ),
+ bless( {
+ 'yt:name' => 'middle',
+ 'width' => 120,
+ 'time' => '00:01:58',
+ '_children' => [],
+ 'url' => 'http://i.ytimg.
+com/vi/XcATvu5f9vE/2.jpg',
+ 'height' => 90,
+ 'namespaces' => {}
+ }, 'WebService::GData::Node
+::Media::Thumbnail' ),
+ bless( {
+ 'yt:name' => 'end',
+ 'width' => 120,
+ 'time' => '00:02:57',
+ '_children' => [],
+ 'url' => 'http://i.ytimg.
+com/vi/XcATvu5f9vE/3.jpg',
+ 'height' => 90,
+ 'namespaces' => {}
+ }, 'WebService::GData::Node
+::Media::Thumbnail' )
+ ],
+ 'cache' => {}
+ }, 'WebService::GData::Collection' ),
'_e
+ntity' => bless( {
+ '_children' => [
+ bless( {
+ 'array' => [
+ bless( {
+ 't
+ext' => 'Music',
+ '_
+children' => [],
+ 's
+cheme' => 'http://gdata.youtube.com/schemas/2007/categories.cat',
+ 'l
+abel' => 'Music',
+ 'n
+amespaces' => {}
+ }, '
+WebService::GData::Node::Media::Category' )
+ ],
+ 'cache' => {}
+ }, 'WebService::GData::Col
+lection' ),
+ bless( {
+ 'array' => [
+ bless( {
+ 't
+ext' => 'DE',
+ 'r
+elationship' => 'deny',
+ '_
+children' => [],
+ 't
+ype' => 'country',
+ 'n
+amespaces' => {}
+ }, '
+WebService::GData::Node::Media::Restriction' )
+ ],
+ 'cache' => {}
+ }, 'WebService::GData::Col
+lection' ),
+ $VAR1->[0]{'_entity'}{'_children'
+}[9]{'_thumbnail'},
+ bless( {
+ 'array' => [
+ bless( {
+ 'y
+t:type' => 'partner',
+ 't
+ext' => 'robertpalmervevo',
+ '_
+children' => [],
+ 's
+cheme' => 'urn:youtube',
+ 'r
+ole' => 'uploader',
+ 'y
+t:display' => 'RobertPalmerVEVO',
+ 'n
+amespaces' => {}
+ }, '
+WebService::GData::Node::Media::Credit' )
+ ],
+ 'cache' => {}
+ }, 'WebService::GData::Col
+lection' ),
+ bless( {
+ 'array' => [
+ bless( {
+ '_
+children' => [],
+ 'y
+t:format' => 5,
+ 'd
+uration' => 236,
+ 'i
+sDefault' => 'true',
+ 'e
+xpression' => 'full',
+ 'u
+rl' => 'http://www.youtube.com/v/XcATvu5f9vE?version=3&f=videos&app=y
+outube_gdata',
+ 'm
+edium' => 'video',
+ 't
+ype' => 'application/x-shockwave-flash',
+ 'n
+amespaces' => {}
+ }, '
+WebService::GData::Node::Media::Content' )
+ ],
+ 'cache' => {}
+ }, 'WebService::GData::Col
+lection' ),
+ bless( {
+ '_children' => [],
+ 'url' => 'http://www.you
+tube.com/watch?v=XcATvu5f9vE&feature=youtube_gdata_player',
+ 'namespaces' => {}
+ }, 'WebService::GData::Nod
+e::Media::Player' ),
+ $VAR1->[0]{'_entity'}{'_children'
+}[9]{'_title'},
+ $VAR1->[0]{'_entity'}{'_children'
+}[9]{'_description'},
+ bless( {
+ '_children' => [],
+ 'namespaces' => {}
+ }, 'WebService::GData::Nod
+e::Media::Keywords' )
+ ],
+ 'namespaces' => {}
+ }, 'WebService::GData::Node::Media::Group' ),
'_c
+ategory' => $VAR1->[0]{'_entity'}{'_children'}[9]{'_entity'}{'_childr
+en'}[0],
'_p
+layer' => $VAR1->[0]{'_entity'}{'_children'}[9]{'_entity'}{'_children
+'}[5],
'_c
+ontent' => bless( {
+ 'array' => [
+ bless( {
+ '_children' => [],
+ 'namespaces' => {}
+ }, 'WebService::GData::YouTub
+e::YT::Media::Content' )
+ ],
+ 'cache' => {}
+ }, 'WebService::GData::Collection' ),
'_k
+eywords' => $VAR1->[0]{'_entity'}{'_children'}[9]{'_entity'}{'_childr
+en'}[8],
'_u
+ploaded' => bless( {
+ 'text' => '2009-12-25T07:54:08.000Z',
+ '_children' => [],
+ 'namespaces' => {}
+ }, 'WebService::GData::YouTube::YT::Uploaded' ),
'_v
+ideoid' => bless( {
+ 'text' => 'XcATvu5f9vE',
+ '_children' => [],
+ 'namespaces' => {}
+ }, 'WebService::GData::YouTube::YT::Videoid' ),
'_r
+estriction' => $VAR1->[0]{'_entity'}{'_children'}[9]{'_entity'}{'_chi
+ldren'}[1],
'_c
+redit' => $VAR1->[0]{'_entity'}{'_children'}[9]{'_entity'}{'_children
+'}[3]
}, 'W
+ebService::GData::YouTube::YT::GroupEntity' ),
bless( {
'_c
+hildren' => [],
'nu
+mLikes' => '22702',
'nu
+mDislikes' => '294',
'na
+mespaces' => {}
}, 'W
+ebService::GData::YouTube::YT::Rating' ),
$VAR1->[0]{'
+_recorded'}
],
'namespaces' => {}
}, 'WebService::GData::Node::At
+om::Entry' ),
'_summary' => $VAR1->[0]{'_entity'}{'_children'}[1]
+,
'_category' => $VAR1->[0]{'_entity'}{'_children'}[4
+],
'_content' => $VAR1->[0]{'_entity'}{'_children'}[2]
+,
'_serializer' => 'xml',
'_link' => $VAR1->[0]{'_entity'}{'_children'}[6],
'_feed' => {
'yt$statistics' => {
'viewCount' => '6
+569735',
'favoriteCount' =
+> '0'
},
'link' => [
$VAR1->[0]{'_entity'}{'_ch
+ildren'}[6]{'array'}[0],
$VAR1->[0]{'_entity'}{'_ch
+ildren'}[6]{'array'}[1],
$VAR1->[0]{'_entity'}{'_ch
+ildren'}[6]{'array'}[2],
$VAR1->[0]{'_entity'}{'_ch
+ildren'}[6]{'array'}[3],
$VAR1->[0]{'_entity'}{'_ch
+ildren'}[6]{'array'}[4]
],
'gd$comments' => {
'gd$feedLink' => {
+'rel' => 'http://gdata.youtube.com/schemas/2007#comments',
+'href' => 'http://gdata.youtube.com/feeds/api/videos/XcATvu5f9vE/comm
+ents',
+'countHint' => 4897
}
},
'yt$accessControl' => [
{
'permission'
+ => 'allowed',
'action' =>
+'comment'
},
{
'permission'
+ => 'allowed',
'action' =>
+'commentVote'
},
{
'permission'
+ => 'allowed',
'action' =>
+'videoRespond'
},
{
'permission'
+ => 'allowed',
'action' =>
+'rate'
},
{
'permission'
+ => 'allowed',
'action' =>
+'embed'
},
{
'permission'
+ => 'allowed',
'action' =>
+'list'
},
{
'permission'
+ => 'allowed',
'action' =>
+'autoPlay'
},
{
'permission'
+ => 'allowed',
'action' =>
+'syndicate'
}
],
'app$control' => {
'yt$state' => {
'$t
+' => 'Syndication of this video was restricted.',
'na
+me' => 'restricted',
're
+asonCode' => 'limitedSyndication'
}
},
'gd$etag' => 'W/"DEIFRH47eCp7I2A9WhNWE
+Uk."',
'content' => {
'src' => 'http://www.yo
+utube.com/v/XcATvu5f9vE?version=3&f=videos&app=youtube_gdata',
'type' => 'application/
+x-shockwave-flash'
},
'gd$rating' => {
'rel' => 'http://sche
+mas.google.com/g/2005#overall',
'numRaters' => 22996,
'average' => '4.94890
+4',
'min' => 1,
'max' => 5
},
'author' => [
$VAR1->[0]{'_entity'}{'_
+children'}[3]{'array'}[0]
],
'published' => {
'text' => '2009-12-25
+T07:54:08.000Z'
},
'media$group' => {
'media$player' => {
+ 'url' => 'http://www.youtube.com/watch?v=XcATvu5f9vE&feature=youtube
+_gdata_player'
}
+,
'media$description'
+ => {
+ 'text' => 'Music video by Robert Palmer performing Addicted To
+Love. (C) 1985 The Island Def Jam Music Group',
+ 'type' => 'plain'
+ },
'yt$videoid' => {
'
+text' => 'XcATvu5f9vE'
},
'yt$duration' => {
+'seconds' => '236'
},
'media$content' =>
+[
+ $VAR1->[0]{'_entity'}{'_children'}[9]{'_content'}{'array'}[0]
+],
'yt$uploaderId' =>
+{
+ '$t' => 'UC2cgN9BQEA14z3ryXNmJjkA'
+},
'media$license' =>
+{
+ 'href' => 'http://www.youtube.com/t/terms',
+ '$t' => 'youtube',
+ 'type' => 'text/html'
+},
'media$category' =>
+ [
+ $VAR1->[0]{'_entity'}{'_children'}[9]{'_entity'}{'_children'}[0]{'
+array'}[0]
+ ],
'media$keywords' =>
+ {},
'media$title' => {
+'text' => 'Robert Palmer - Addicted To Love',
+'type' => 'plain'
},
'media$credit' => [
+ $VAR1->[0]{'_entity'}{'_children'}[9]{'_entity'}{'_children'}[3]{'ar
+ray'}[0]
]
+,
'media$restriction'
+ => [
+ $VAR1->[0]{'_entity'}{'_children'}[9]{'_entity'}{'_children'}[1
+]{'array'}[0]
+ ],
'media$thumbnail' =
+> [
+ $VAR1->[0]{'_entity'}{'_children'}[9]{'_thumbnail'}{'array'}[0],
+ $VAR1->[0]{'_entity'}{'_children'}[9]{'_thumbnail'}{'array'}[1],
+ $VAR1->[0]{'_entity'}{'_children'}[9]{'_thumbnail'}{'array'}[2],
+ $VAR1->[0]{'_entity'}{'_children'}[9]{'_thumbnail'}{'array'}[3],
+ $VAR1->[0]{'_entity'}{'_children'}[9]{'_thumbnail'}{'array'}[4],
+ $VAR1->[0]{'_entity'}{'_children'}[9]{'_thumbnail'}{'array'}[5]
+ ],
'yt$uploaded' => {
+'text' => '2009-12-25T07:54:08.000Z'
}
},
'id' => {
'text' => 'tag:youtube.com,2
+008:video:XcATvu5f9vE'
},
'updated' => {
'text' => '2012-12-10T1
+3:35:15.000Z'
},
'category' => [
$VAR1->[0]{'_entity'}{
+'_children'}[4]{'array'}[0],
$VAR1->[0]{'_entity'}{
+'_children'}[4]{'array'}[1]
],
'title' => {
'text' => 'Robert Palmer
+- Addicted To Love'
},
'yt$rating' => {
'numLikes' => '22702'
+,
'numDislikes' => '294
+'
}
},
'_rating' => $VAR1->[0]{'_entity'}{'_children'}[10]
+,
'_author' => $VAR1->[0]{'_entity'}{'_children'}[3],
'_published' => $VAR1->[0]{'_entity'}{'_children'}[
+0],
'_media' => $VAR1->[0]{'_entity'}{'_children'}[9],
'_request' => bless( {
'_basequery' => bless( {
'ma
+xresults' => 1,
'_q
+uery' => {
+ 'strict' => 'true',
+ 'alt' => 'json',
+ 'start-index' => 1,
+ 'q' => 'robert palmer',
+ 'prettyprint' => 'false',
+ 'v' => 2,
+ 'max-results' => 1
+ }
}, 'W
+ebService::GData::YouTube::Query' ),
'__AUTH__' => undef,
'__COMPRESSION__' => 'false'
+,
'__UA_NAME__' => '',
'__URI__' => 'http://gdata.y
+outube.com/feeds/api/videos/',
'__UA__' => bless( {
'max_re
+direct' => 7,
'protoc
+ols_forbidden' => undef,
'no_pro
+xy' => [],
'protoc
+ols_allowed' => undef,
'use_ev
+al' => 1,
'reques
+ts_redirectable' => [
+ 'GET',
+ 'HEAD'
+ ],
'from'
+=> undef,
'timeou
+t' => 180,
'agent'
+ => 'WebService::GData::Base/0.0203',
'def_he
+aders' => undef,
'parse_
+head' => 1,
'proxy'
+ => {},
'max_si
+ze' => undef
}, 'LWP::
+UserAgent' ),
'__OVERRIDE__' => 'false'
}, 'WebService::GData::Base' )
}, 'WebService::GData::YouTube::Feed::Video' )
];
And i don't known how to extract only: http://i.ytimg.
com/vi/XcATvu5f9vE/2.jpg and 00:01:58 from this result (something like (${$hash}?????{'array'}{'url'} and ${$hash}?????{'array'}{'time'}
Regards, nono |