<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>My Web Experiences &#187; youtube</title>
	<atom:link href="http://www.mywebexperiences.com/tag/youtube/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mywebexperiences.com</link>
	<description>A web development blog</description>
	<lastBuildDate>Thu, 05 Jan 2012 14:56:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Show videos on your site using PERL and Youtube API</title>
		<link>http://www.mywebexperiences.com/2008/04/01/show-videos-on-your-site-using-perl-and-youtube-api/</link>
		<comments>http://www.mywebexperiences.com/2008/04/01/show-videos-on-your-site-using-perl-and-youtube-api/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 04:34:47 +0000</pubDate>
		<dc:creator>Rene</dc:creator>
				<category><![CDATA[APIs]]></category>
		<category><![CDATA[PERL]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://www.mywebexperiences.com/?p=12</guid>
		<description><![CDATA[This tutorial uses an old Youtube API, after google acquired Youtube a new API was released In this brief tutorial i will show you how to show videos from youtube on you web page using PERL and Youtube API, the idea of the script is that it will show by default the favorites videos of [...]]]></description>
			<content:encoded><![CDATA[<blockquote>This tutorial uses an old Youtube API, after google acquired Youtube a new API was released</blockquote>

<p>
In this brief tutorial i will show you how to show videos from youtube on you web page using PERL and Youtube API,  the idea of the script is that it will show by default the favorites videos of some users, and you will be able to navigate to the tags you specify.
</p>
<p>
For this script we will use some libraries from the CPAN:
</p>
<ul>
<li><strong>CGI</strong> we will use to get the data send by GET</li>
<li><strong>Template toolkit</strong> This is an excellent template library</li>
<li><strong>XML:DOM</strong> this library will help us to parse the XML file that is returned by youtube </li>
<li><strong>LWP::UserAgent</strong> This is needed by XML:DOM to parse the files in remote locations</li>
<li><strong>Unicode::String</strong> We will use this to convert data to UTF8</li>
</ul>

<p>
<a href="http://www.tlaxcala.tlax.com/cgi-bin/videos.pl">Click here</a> to see this script in action.
</p>

<p>
<a href='http://www.mywebexperiences.com/wp-content/uploads/2008/04/youtube.zip'>Download the code</a>
</p>

<p>
<strong>index.pl</strong> this is the perl script.
</p>
<div class="dean_ch" style="white-space: nowrap;"><ol><li class="li1"><div class="de1"><span class="co1">#!/usr/bin/perl</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw2">use</span> CGI;</div></li>
<li class="li1"><div class="de1"><span class="kw2">use</span> Template;</div></li>
<li class="li2"><div class="de2"><span class="kw2">use</span> XML::<span class="me2">DOM</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw2">use</span> LWP::<span class="me2">UserAgent</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw2">use</span> POSIX <a href="http://perldoc.perl.org/functions/qw.html"><span class="kw3">qw</span></a><span class="br0">&#40;</span>strftime<span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw2">use</span> Unicode::<span class="me2">String</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="co1"># you have to sign up to get a developer id</span></div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$devId</span> = <span class="st0">&#8216;developerid&#8217;</span>;</div></li>
<li class="li1"><div class="de1"><span class="co1"># we will show the favorites videos of this user as front page</span></div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$userFavorites</span> = <span class="st0">&#8216;someuser&#8217;</span>;</div></li>
<li class="li1"><div class="de1"><span class="co1"># this is an array of the tags we will allow to navigate throw</span></div></li>
<li class="li2"><div class="de2"><span class="kw1">my</span> <span class="re0">%tags</span> = <span class="br0">&#40;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;tlaxcala&#8217;</span>=&gt;<span class="st0">&#8216;Tlaxcala&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;huamantla&#8217;</span>=&gt;<span class="st0">&#8216;Huamantla&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;huamantlada&#8217;</span>=&gt;<span class="st0">&#8216;Huamantlada&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;feria huamantla&#8217;</span>=&gt;<span class="st0">&#8216;Feria Huamantla&#8217;</span>,</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;cacaxtla&#8217;</span>=&gt;<span class="st0">&#8216;Cacaxtla&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;apizaco&#8217;</span>=&gt;<span class="st0">&#8216;Apizaco&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;tlaxco&#8217;</span>=&gt;<span class="st0">&#8216;Tlaxco&#8217;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;feria tlaxcala&#8217;</span>=&gt;<span class="st0">&#8216;Feria Tlaxcala&#8217;</span></div></li>
<li class="li1"><div class="de1"><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$query</span> = <span class="kw2">new</span> CGI;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$action</span> = <span class="re0">$query</span>-&gt;<span class="me1">param</span><span class="br0">&#40;</span><span class="st0">&#8216;action&#8217;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">@videos</span> = <span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2"><span class="kw1">my</span> <span class="re0">$total</span> = <span class="nu0">0</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$values</span> = <span class="br0">&#123;</span><span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$url</span>;</div></li>
<li class="li1"><div class="de1"><span class="kw1">my</span> <span class="re0">$tt</span> = Template-&gt;<span class="me1">new</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> <span class="st0">&quot;Content-type: text/html;charset=UTF-8<span class="es0">\n</span><span class="es0">\n</span>&quot;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">SWITCH:<span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <span class="re0">$action</span> eq <span class="st0">&#8216;view&#8217;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#125;</span>=<span class="re0">$query</span>-&gt;<span class="me1">param</span><span class="br0">&#40;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">@comments</span> = <span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here we start parsing the XML</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">$parser</span> = XML::<span class="me2">DOM</span>::<span class="me2">Parser</span>-&gt;<span class="me1">new</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">$doc</span> = <span class="re0">$parser</span>-&gt;<span class="me1">parsefile</span><span class="br0">&#40;</span><span class="st0">&#8216;http://www.youtube.com/api2_rest?method=youtube.videos.get_details&amp;dev_id=FIq6LWxC3RE&amp;video_id=&#8217;</span> . <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#125;</span> <span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># we put this on eval to avoid errors</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/eval.html"><span class="kw3">eval</span></a><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here i add all the commets to an array</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span> <span class="kw1">my</span> <span class="re0">$comment</span> <span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;comment&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">@date</span> = <a href="http://perldoc.perl.org/functions/localtime.html"><span class="kw3">localtime</span></a><span class="br0">&#40;</span> <span class="re0">$comment</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;time&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span> <span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@comments</span>, <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; author=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$comment</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;author&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$comment</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;text&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/time.html"><span class="kw3">time</span></a>=&gt;strftime<span class="br0">&#40;</span> <span class="st0">&#8216;%r&#8217;</span>, <span class="re0">@date</span> <span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; date=&gt;strftime<span class="br0">&#40;</span> <span class="st0">&#8216;%d-%m-%Y&#8217;</span>, <span class="re0">@date</span> <span class="br0">&#41;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here i format the video time</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span><span class="br0">&#40;</span> <span class="re0">$seconds</span>,<span class="re0">$hours</span>,<span class="re0">$minutes</span> <span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$seconds</span> = <span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;length_seconds&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span> <span class="re0">$hours</span>, <span class="re0">$seconds</span> <span class="br0">&#41;</span> = <span class="br0">&#40;</span> <a href="http://perldoc.perl.org/functions/int.html"><span class="kw3">int</span></a><span class="br0">&#40;</span> <span class="re0">$seconds</span>/<span class="nu0">3600</span> <span class="br0">&#41;</span>, <span class="re0">$seconds</span> % <span class="nu0">3600</span> <span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span> <span class="re0">$minutes</span>, <span class="re0">$seconds</span> <span class="br0">&#41;</span> = <span class="br0">&#40;</span> <a href="http://perldoc.perl.org/functions/int.html"><span class="kw3">int</span></a><span class="br0">&#40;</span> <span class="re0">$seconds</span>/<span class="nu0">60</span> <span class="br0">&#41;</span>, <span class="re0">$seconds</span> % <span class="nu0">60</span> <span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here i create an array of the data i will use and show the page using template toolkit</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">%data</span> = <span class="br0">&#40;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; video=&gt;<span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#125;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; title=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;title&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; author=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;author&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; rating_avg=&gt;<span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;rating_avg&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tags=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;tags&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; description=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;description&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/time.html"><span class="kw3">time</span></a>=&gt;sprintf<span class="br0">&#40;</span> <span class="st0">&#8216;%02s:%02s:%02s&#8217;</span>, <span class="re0">$hours</span>,<span class="re0">$minutes</span>, <span class="re0">$seconds</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; comments=&gt;\<span class="re0">@comments</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$tt</span>-&gt;<span class="me1">process</span><span class="br0">&#40;</span> <span class="st0">&#8216;videos_view.tt&#8217;</span>, \<span class="re0">%data</span> <span class="br0">&#41;</span> || <a href="http://perldoc.perl.org/functions/die.html"><span class="kw3">die</span></a> <span class="re0">$tt</span>-&gt;<span class="me1">error</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">last</span> SWITCH;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span>=<span class="re0">$query</span>-&gt;<span class="me1">param</span><span class="br0">&#40;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#125;</span>=<span class="re0">$query</span>-&gt;<span class="me1">param</span><span class="br0">&#40;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#125;</span> eq <span class="st0">&#8221;</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># i show the favorites of the user</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$url</span>=<span class="st0">&#8216;http://www.youtube.com/api2_rest?method=youtube.users.list_favorite_videos&amp;dev_id=FIq6LWxC3RE&amp;user=&#8217;</span> . <span class="re0">$userFavorites</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span>=<span class="st0">&#8217;1&#8242;</span> <span class="kw1">if</span><span class="br0">&#40;</span> <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span> eq <span class="st0">&#8221;</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here i get videos by tab</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$url</span>=<span class="st0">&#8216;http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&amp;dev_id=FIq6LWxC3RE&amp;tag=&#8217;</span> . <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#125;</span> . <span class="st0">&#8216;&amp;page=&#8217;</span> . <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span> . <span class="st0">&#8216;&amp;per_page=20&#8242;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># since the api dosent support paging, i see if the next xml has data, to show next link</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$nextXML</span>=<span class="st0">&#8216;http://www.youtube.com/api2_rest?method=youtube.videos.list_by_tag&amp;dev_id=FIq6LWxC3RE&amp;tag=&#8217;</span> . <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#125;</span> . <span class="st0">&#8216;&amp;page=&#8217;</span> . <span class="br0">&#40;</span> <span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span> + <span class="nu0">1</span> <span class="br0">&#41;</span> . <span class="st0">&#8216;&amp;per_page=20&#8242;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">$parser</span> = XML::<span class="me2">DOM</span>::<span class="me2">Parser</span>-&gt;<span class="me1">new</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># we put this on eval to avoid errors</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/eval.html"><span class="kw3">eval</span></a> <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">$doc</span> = <span class="re0">$parser</span>-&gt;<span class="me1">parsefile</span><span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># here i create an array with the info for videos</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span> <span class="re0">$video</span> <span class="br0">&#40;</span><span class="re0">$doc</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/push.html"><span class="kw3">push</span></a> <span class="re0">@videos</span>, <span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;author&#8217;</span>=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;author&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;id&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;id&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;title&#8217;</span>=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;title&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;length_seconds&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;length_seconds&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;rating_avg&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;rating_avg&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;rating_count&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;rating_count&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;description&#8217;</span>=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;description&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;view_count&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;view_count&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;upload_time&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;upload_time&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;comment_count&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;comment_count&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;tags&#8217;</span>=&gt;Unicode::<span class="me2">String</span>::<span class="me2">utf8</span><span class="br0">&#40;</span><span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;tags&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span><span class="br0">&#41;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;url&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;url&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;thumbnail_url&#8217;</span>=&gt;<span class="re0">$video</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;thumbnail_url&#8217;</span><span class="br0">&#41;</span>-&gt;<span class="me1">item</span><span class="br0">&#40;</span><span class="nu0">0</span><span class="br0">&#41;</span>-&gt;<span class="me1">getFirstChild</span>-&gt;<span class="me1">getNodeValue</span></div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span> <a href="http://perldoc.perl.org/functions/defined.html"><span class="kw3">defined</span></a><span class="br0">&#40;</span> <span class="re0">$nextXML</span> <span class="br0">&#41;</span> <span class="br0">&#41;</span><span class="br0">&#123;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">$doc2</span> = <span class="re0">$parser</span>-&gt;<span class="me1">parsefile</span><span class="br0">&#40;</span><span class="re0">$nextXML</span><span class="br0">&#41;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$total</span> = @<span class="br0">&#123;</span> <span class="re0">$doc2</span>-&gt;<span class="me1">getElementsByTagName</span><span class="br0">&#40;</span><span class="st0">&#8216;video&#8217;</span><span class="br0">&#41;</span> <span class="br0">&#125;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span>;</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">my</span> <span class="re0">%data</span> = <span class="br0">&#40;</span> </div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; total=&gt;<span class="re0">$total</span>,</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tag=&gt;<span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;tag&#8217;</span><span class="br0">&#125;</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; tags=&gt;\<span class="re0">%tags</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; videos=&gt;\<span class="re0">@videos</span>,</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; page=&gt;<span class="re0">$values</span><span class="br0">&#123;</span><span class="st0">&#8216;page&#8217;</span><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#41;</span>;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># i show the page using template toolkit</span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$tt</span>-&gt;<span class="me1">process</span><span class="br0">&#40;</span> <span class="st0">&#8216;videos_list.tt&#8217;</span>, \<span class="re0">%data</span> <span class="br0">&#41;</span> || <a href="http://perldoc.perl.org/functions/die.html"><span class="kw3">die</span></a> <span class="re0">$tt</span>-&gt;<span class="me1">error</span>;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="br0">&#125;</span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li></ol></div>
<p>
<strong>videos_list.tt</strong> The template where we see the list of videos.
</p>
<div class="dean_ch" style="white-space: nowrap;"><ol><li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/ul.html"><span class="kw2">&lt;ul</span></a> <span class="kw3">id</span>=<span class="st0">&quot;videosList&quot;</span><span class="kw2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">[% FOREACH videos %]</div></li>
<li class="li1"><div class="de1">&nbsp;<span class="sc2"><a href="http://december.com/html/4/element/li.html"><span class="kw2">&lt;li&gt;</span></a></span></div></li>
<li class="li2"><div class="de2">&nbsp; <span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;index.pl?action=view&amp;amp;video=[% id %]&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><a href="http://december.com/html/4/element/img.html"><span class="kw2">&lt;img</span></a> <span class="kw3">src</span>=<span class="st0">&quot;[% thumbnail_url %]&quot;</span> /<span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;/a&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc2"><a href="http://december.com/html/4/element/h2.html"><span class="kw2">&lt;h2&gt;</span></a></span><span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;index.pl?action=view&amp;amp;video=[% id %]&quot;</span><span class="kw2">&gt;</span></span>[% title %]<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span><span class="sc2"><span class="kw2">&lt;/h2&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc2"><a href="http://december.com/html/4/element/p.html"><span class="kw2">&lt;p&gt;</span></a></span>[% description %]<span class="sc2"><span class="kw2">&lt;/p&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;<span class="sc2"><span class="kw2">&lt;/li&gt;</span></span></div></li>
<li class="li1"><div class="de1">[% END %]</div></li>
<li class="li2"><div class="de2"><span class="sc2"><span class="kw2">&lt;/ul&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/div.html"><span class="kw2">&lt;div</span></a> <span class="kw3">align</span>=<span class="st0">&quot;center&quot;</span><span class="kw2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;[% IF tag || ( page&gt;1 <span class="sc1">&amp;&amp; total&gt;0 ) %]</span></div></li>
<li class="li2"><div class="de2"><span class="sc1"> &nbsp;[% IF ( page &gt; 1 ) %]</span></div></li>
<li class="li1"><div class="de1"><span class="sc1"> &nbsp; &lt;a href=&quot;index.pl?tag=[% tag %]&amp;amp;</span>page=[% (page - 1) %]&quot; alt=&quot;Previous&quot; title=&quot;Previous&quot;&gt;Previous<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; [% END %]</div></li>
<li class="li1"><div class="de1">&nbsp; [% IF total&gt;0 %]</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;index.pl?tag=[% tag %]&amp;amp;page=[% (page + 1) %]&quot;</span> <span class="kw3">alt</span>=<span class="st0">&quot;Next&quot;</span> <span class="kw3">title</span>=<span class="st0">&#8216;Next&#8217;</span><span class="kw2">&gt;</span></span>Next<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp; [% END %]</div></li>
<li class="li1"><div class="de1">&nbsp; </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;[% END %]</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;[% IF tag == '' %]Favorites[% ELSE %]<span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;index.pl&quot;</span><span class="kw2">&gt;</span></span>Favorites<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span>[% END %]</div></li>
<li class="li1"><div class="de1">&nbsp;[% FOREACH key = tags.keys %]</div></li>
<li class="li1"><div class="de1">&nbsp; || [% IF tag == key %][% tags.$key %][% ELSE %]<span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;index.pl?tag=[% key %]&quot;</span><span class="kw2">&gt;</span></span>[% tags.$key %]<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span>[% END %]</div></li>
<li class="li1"><div class="de1">&nbsp;[% END %]</div></li>
<li class="li2"><div class="de2"><span class="sc2"><span class="kw2">&lt;/div&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li></ol></div>
<p>
<strong>videos_view.tt</strong> The template where we see a specific video.
</p>

<div class="dean_ch" style="white-space: nowrap;"><ol><li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/h1.html"><span class="kw2">&lt;h1&gt;</span></a></span>[% title %]<span class="sc2"><span class="kw2">&lt;/h1&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/div.html"><span class="kw2">&lt;div</span></a> <span class="kw3">align</span>=<span class="st0">&quot;center&quot;</span><span class="kw2">&gt;</span></span></div></li>
<li class="li2"><div class="de2"><span class="sc2"><a href="http://december.com/html/4/element/object.html"><span class="kw2">&lt;object</span></a> <span class="kw3">width</span>=<span class="st0">&quot;425&quot;</span> <span class="kw3">height</span>=<span class="st0">&quot;350&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><a href="http://december.com/html/4/element/param.html"><span class="kw2">&lt;param</span></a> <span class="kw3">name</span>=<span class="st0">&quot;movie&quot;</span> <span class="kw3">value</span>=<span class="st0">&quot;http://www.youtube.com/v/[% video %]&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;/param&gt;</span></span><span class="sc2"><a href="http://december.com/html/4/element/param.html"><span class="kw2">&lt;param</span></a> <span class="kw3">name</span>=<span class="st0">&quot;wmode&quot;</span> <span class="kw3">value</span>=<span class="st0">&quot;transparent&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;/param&gt;</span></span><span class="sc2">&lt;embed <span class="kw3">src</span>=<span class="st0">&quot;http://www.youtube.com/v/[% video %]&quot;</span> <span class="kw3">type</span>=<span class="st0">&quot;application/x-shockwave-flash&quot;</span> wmode=<span class="st0">&quot;transparent&quot;</span> <span class="kw3">width</span>=<span class="st0">&quot;425&quot;</span> <span class="kw3">height</span>=<span class="st0">&quot;350&quot;</span><span class="kw2">&gt;</span></span><span class="sc2"><span class="kw2">&lt;</span>/embed&gt;</span><span class="sc2"><span class="kw2">&lt;/object&gt;</span></span></div></li>
<li class="li1"><div class="de1"><span class="sc2"><span class="kw2">&lt;/div&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/strong.html"><span class="kw2">&lt;strong&gt;</span></a></span>Author:<span class="sc2"><span class="kw2">&lt;/strong&gt;</span></span> <span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&quot;http://www.youtube.com/user/[% author %]&quot;</span> <span class="kw3">target</span>=<span class="st0">&quot;_blank&quot;</span><span class="kw2">&gt;</span></span>[% author %]<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2"><span class="sc2"><a href="http://december.com/html/4/element/strong.html"><span class="kw2">&lt;strong&gt;</span></a></span>Rating:<span class="sc2"><span class="kw2">&lt;/strong&gt;</span></span> [% rating_avg %]</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/strong.html"><span class="kw2">&lt;strong&gt;</span></a></span>Tags:<span class="sc2"><span class="kw2">&lt;/strong&gt;</span></span> [% tags %]</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/strong.html"><span class="kw2">&lt;strong&gt;</span></a></span>Time:<span class="sc2"><span class="kw2">&lt;/strong&gt;</span></span> [% time %]</div></li>
<li class="li2"><div class="de2">&nbsp;</div></li>
<li class="li1"><div class="de1"><span class="sc2"><a href="http://december.com/html/4/element/p.html"><span class="kw2">&lt;p&gt;</span></a></span></div></li>
<li class="li1"><div class="de1">[% description %]</div></li>
<li class="li1"><div class="de1"><span class="sc2"><span class="kw2">&lt;/p&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">[% IF comments.size &gt; 0 %]</div></li>
<li class="li1"><div class="de1">&nbsp;<span class="sc2"><a href="http://december.com/html/4/element/h2.html"><span class="kw2">&lt;h2&gt;</span></a></span>Comments<span class="sc2"><span class="kw2">&lt;/h2&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; [% FOREACH comment=comments %]</div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp;<span class="sc2"><a href="http://december.com/html/4/element/div.html"><span class="kw2">&lt;div</span></a> <span class="kw3">class</span>=<span class="st0">&#8216;textoComentarios&#8217;</span><span class="kw2">&gt;</span></span>[% comment.text %]<span class="sc2"><span class="kw2">&lt;/div&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li2"><div class="de2">&nbsp; &nbsp;<span class="sc2"><a href="http://december.com/html/4/element/div.html"><span class="kw2">&lt;div</span></a> <span class="kw3">class</span>=<span class="st0">&#8216;pieComentarios&#8217;</span><span class="kw2">&gt;</span></span></div></li>
<li class="li1"><div class="de1">&nbsp; &nbsp;| By <span class="sc2"><a href="http://december.com/html/4/element/a.html"><span class="kw2">&lt;a</span></a> <span class="kw3">href</span>=<span class="st0">&#8216;http://www.youtube.com/user/[% comentario.author %]&#8216;</span><span class="kw2">&gt;</span></span>[% comment.author %]<span class="sc2"><span class="kw2">&lt;/a&gt;</span></span> | [% comment.date %] | [% comment.time %] | </div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li>
<li class="li1"><div class="de1">&nbsp; <span class="sc2"><span class="kw2">&lt;/div&gt;</span></span></div></li>
<li class="li2"><div class="de2">&nbsp;[% END %]</div></li>
<li class="li1"><div class="de1">[% END %]</div></li>
<li class="li1"><div class="de1">&nbsp;</div></li></ol></div>

<p>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.mywebexperiences.com/2008/04/01/show-videos-on-your-site-using-perl-and-youtube-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

