CINXE.COM
web
<!DOCTYPE html> <html lang="en-us"> <head> <title> web </title> <link rel="canonical" href="https://www.perl.com/categories/web/"> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""/> <meta name="robots" content="index, follow"> <meta name="google-site-verification" content="TZowffo_LX2mmsw2DbeNNbukCMnIOA8T-6CMJPiYllI" /> <meta name="build-timestamp" content="2025-04-05 08:49:14"> <meta property="twitter:card" content="summary"> <meta property="twitter:site" content="@PerlFoundation"> <meta property="og:url" content="https://www.perl.com/categories/web/" /> <meta property="og:title" content="web" /> <meta property="og:description" content="Since 1997 Perl.com has published articles about the Perl programming language, its culture and community."> <meta property="og:site_name" content="Perl.com" /> <meta property="og:type" content="website" /> <meta property="og:image" content="https://www.perl.com/images/site/perl-camel.png" /> <link rel="icon" href="/favicon.ico"> <link href="/article/index.xml" rel="alternate" type="application/rss+xml" title="Perl.com - programming news, code and culture" /> <link href="/article/index.xml" rel="feed" type="application/rss+xml" title="Perl.com - programming news, code and culture" /> <link href="/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="/css/perldotcom.css"/> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-50555-22', 'auto'); ga('create', 'UA-85734801-2', 'auto', 'editor'); ga('send', 'pageview'); ga('editor.send', 'pageview'); </script> </head> <body> <div class="container-fluid full-width antonio"> <div class="row"> <div class="navbar-inverse" style="border-radius:none !important" role="navigation"> <div class="container-fluid"> <ul class="nav navbar-nav pull-right follow"> <li>MORE:</li> <li><a href="https://perl.org"> <img src="/images/site/perl-camel.png" width="20" height="20" alt="Perl Camel"></a><li> <li><a href="/article/index.xml" /> <img src="/images/site/rss_20.png" alt="rss"></a></li> <li><a href="https://github.com/perladvent/perldotcom" /> <img src="/images/site/github_light_20.png" alt="GitHub logo"></a></li> </ul> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-nav" href="/"> <div class="header-logo">Perl.com</div> </a> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="/about"> <div class="circle"> <img src="/images/site/perl-camel.svg" alt="" height="30" width="30" /> </div> ABOUT</a> </li> <li><a href="/authors"> <div class="circle"> <span class="glyphicon glyphicon-user txt-blue-major" aria-hidden="true"></span> </div> AUTHORS</a> </li> <li><a href="/categories"> <div class="circle"> <span class="glyphicon glyphicon-folder-open txt-blue-major" aria-hidden="true"></span> </div> CATEGORIES</a> </li> <li><a href="/tags"> <div class="circle"> <span class="txt-blue-major" aria-hidden="true"><strong>#</strong></span> </div> TAGS</a> </li> <li> <form class="search" name="ddg" action="https://duckduckgo.com/" method="get"> <input type="text" name ="q" placeholder="SEARCH" /> <input type="hidden" value="perl.com" name="sites" /> </form> </li> </ul> </div> </div> </div> </div> </div> <section id="content" role="main"> <div class="container"> <div class="row"> <div class="col-sm-9"> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/author/david-farrell.jpg)"></div> </div> <div class="col-sm-9"> <a href="/article/inspecting-catalyst/" rel="bookmark" title="Link to Inspecting Catalyst"> <h2 class="blog-post-title">Inspecting Catalyst</h2> </a> <p class="blog-post-meta">Nov 11, 2019 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/catalyst">catalyst</a></div> <div class="tag"><a href="/tags/metacpan">metacpan</a></div> </div> <p>What routes does your Catalyst app respond to?</p> <h5><a class="moretag" href="https://www.perl.com/article/inspecting-catalyst/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/spidering-websites-with-headless-chrome-and-selenium/thumb_chrome.png)"></div> </div> <div class="col-sm-9"> <a href="/article/spidering-websites-with-headless-chrome-and-selenium/" rel="bookmark" title="Link to Spidering websites with Headless Chrome and Selenium"> <h2 class="blog-post-title">Spidering websites with Headless Chrome and Selenium</h2> </a> <p class="blog-post-meta">Jan 13, 2019 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/chrome">chrome</a></div> <div class="tag"><a href="/tags/selenium">selenium</a></div> <div class="tag"><a href="/tags/chromedriver">chromedriver</a></div> <div class="tag"><a href="/tags/selenium-remote-driver">selenium-remote-driver</a></div> <div class="tag"><a href="/tags/headless">headless</a></div> <div class="tag"><a href="/tags/spider">spider</a></div> </div> <p>How I setup and controlled headless Chrome with Perl</p> <h5><a class="moretag" href="https://www.perl.com/article/spidering-websites-with-headless-chrome-and-selenium/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/author/dave-jacoby.jpg)"></div> </div> <div class="col-sm-9"> <a href="/article/perl-and-cgi/" rel="bookmark" title="Link to Perl and CGI"> <h2 class="blog-post-title">Perl and CGI</h2> </a> <p class="blog-post-meta">Nov 12, 2018 by <a href="/authors/dave-jacoby">Dave Jacoby</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/cgi">cgi</a></div> <div class="tag"><a href="/tags/mvc">mvc</a></div> <div class="tag"><a href="/tags/catalyst">catalyst</a></div> <div class="tag"><a href="/tags/dancer">dancer</a></div> <div class="tag"><a href="/tags/mojolicious">mojolicious</a></div> <div class="tag"><a href="/tags/template-toolkit">template-toolkit</a></div> </div> <p>The CGI module helped Perl grow when the web first blew up. Now it’s out of Core and discouraged. What happened?</p> <h5><a class="moretag" href="https://www.perl.com/article/perl-and-cgi/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/212/thumb_0156BEFE-C9B2-11E5-A2BB-E80C3AD1818C.jpeg)"></div> </div> <div class="col-sm-9"> <a href="/article/212/2016/2/2/Get-an-in-browser-remote-desktop-with-Mojolicious-and-noVNC/" rel="bookmark" title="Link to Get an in-browser remote desktop with Mojolicious and noVNC"> <h2 class="blog-post-title">Get an in-browser remote desktop with Mojolicious and noVNC</h2> </a> <p class="blog-post-meta">Feb 2, 2016 by <a href="/authors/joel-berger">Joel Berger</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/mojolicious">mojolicious</a></div> <div class="tag"><a href="/tags/websockets">websockets</a></div> <div class="tag"><a href="/tags/novnc">novnc</a></div> </div> <p>Using Mojolicious as a TCP/WebSocket Bridge</p> <h5><a class="moretag" href="https://www.perl.com/article/212/2016/2/2/Get-an-in-browser-remote-desktop-with-Mojolicious-and-noVNC/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/210/thumb_B6ABE53E-C045-11E5-B2C3-641B7A54B0AF.png)"></div> </div> <div class="col-sm-9"> <a href="/article/210/2016/1/21/Twitter-as-a-datastore/" rel="bookmark" title="Link to Twitter as a datastore"> <h2 class="blog-post-title">Twitter as a datastore</h2> </a> <p class="blog-post-meta">Jan 21, 2016 by <a href="/authors/brian-d-foy">brian d foy</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/math">math</a></div> <div class="tag"><a href="/tags/social_media">social_media</a></div> <div class="tag"><a href="/tags/net_twitter">net_twitter</a></div> </div> <p>Using social media platforms for computing applications</p> <h5><a class="moretag" href="https://www.perl.com/article/210/2016/1/21/Twitter-as-a-datastore/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/193/thumb_8BAEFFB8-5E31-11E5-8EC0-4782D27BB60F.png)"></div> </div> <div class="col-sm-9"> <a href="/article/193/2015/9/18/How-to-send-verification-emails-using-Mojolicious/" rel="bookmark" title="Link to How to send verification emails using Mojolicious"> <h2 class="blog-post-title">How to send verification emails using Mojolicious</h2> </a> <p class="blog-post-meta">Sep 18, 2015 by <a href="/authors/joel-berger">Joel Berger</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/mojo">mojo</a></div> <div class="tag"><a href="/tags/email">email</a></div> <div class="tag"><a href="/tags/verification">verification</a></div> <div class="tag"><a href="/tags/automated">automated</a></div> </div> <p>Control access to your Mojo app with registration emails</p> <h5><a class="moretag" href="https://www.perl.com/article/193/2015/9/18/How-to-send-verification-emails-using-Mojolicious/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/171/thumb_2E921FA4-B008-11E4-BF49-19CBDA487E9F.jpeg)"></div> </div> <div class="col-sm-9"> <a href="/article/171/2015/5/4/Cache-Reddit-or-how-to-use-social-media-as-a-temporary-data-store/" rel="bookmark" title="Link to Cache::Reddit or: how to use social media as a temporary data store"> <h2 class="blog-post-title">Cache::Reddit or: how to use social media as a temporary data store</h2> </a> <p class="blog-post-meta">May 4, 2015 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/cache">cache</a></div> <div class="tag"><a href="/tags/reddit">reddit</a></div> <div class="tag"><a href="/tags/storable">storable</a></div> <div class="tag"><a href="/tags/humor">humor</a></div> </div> <p>Introducing a suboptimal solution</p> <h5><a class="moretag" href="https://www.perl.com/article/171/2015/5/4/Cache-Reddit-or-how-to-use-social-media-as-a-temporary-data-store/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/154/thumb_91EE4478-B617-11E4-A56B-890CDB487E9F.png)"></div> </div> <div class="col-sm-9"> <a href="/article/154/2015/2/23/Build-a-Twitter-bot-with-Perl/" rel="bookmark" title="Link to Build a Twitter bot with Perl"> <h2 class="blog-post-title">Build a Twitter bot with Perl</h2> </a> <p class="blog-post-meta">Feb 23, 2015 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/perl">perl</a></div> <div class="tag"><a href="/tags/reddit">reddit</a></div> <div class="tag"><a href="/tags/bot">bot</a></div> <div class="tag"><a href="/tags/twitter">twitter</a></div> <div class="tag"><a href="/tags/automation">automation</a></div> <div class="tag"><a href="/tags/tweet">tweet</a></div> </div> <p>Automating tweets can win you more followers!</p> <h5><a class="moretag" href="https://www.perl.com/article/154/2015/2/23/Build-a-Twitter-bot-with-Perl/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/151/thumb_2E921FA4-B008-11E4-BF49-19CBDA487E9F.jpeg)"></div> </div> <div class="col-sm-9"> <a href="/article/151/2015/2/9/Build-a-Reddit-bot-with-Perl/" rel="bookmark" title="Link to Build a Reddit bot with Perl"> <h2 class="blog-post-title">Build a Reddit bot with Perl</h2> </a> <p class="blog-post-meta">Feb 9, 2015 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/xml">xml</a></div> <div class="tag"><a href="/tags/perl">perl</a></div> <div class="tag"><a href="/tags/reddit">reddit</a></div> <div class="tag"><a href="/tags/rss">rss</a></div> <div class="tag"><a href="/tags/feed">feed</a></div> <div class="tag"><a href="/tags/atom">atom</a></div> <div class="tag"><a href="/tags/bot">bot</a></div> </div> <p>It’s easy and fast to do</p> <h5><a class="moretag" href="https://www.perl.com/article/151/2015/2/9/Build-a-Reddit-bot-with-Perl/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/139/thumb_31233122-80D8-11E4-8F6A-124BB3613736.png)"></div> </div> <div class="col-sm-9"> <a href="/article/139/2014/12/11/Automated-Internet-Explorer-screenshots-using-Win32-OLE/" rel="bookmark" title="Link to Automated Internet Explorer screenshots using Win32::OLE"> <h2 class="blog-post-title">Automated Internet Explorer screenshots using Win32::OLE</h2> </a> <p class="blog-post-meta">Dec 11, 2014 by <a href="/authors/sinan-unur">Sinan Unur</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/windows">windows</a></div> <div class="tag"><a href="/tags/perl">perl</a></div> <div class="tag"><a href="/tags/ole">ole</a></div> <div class="tag"><a href="/tags/screenshot">screenshot</a></div> <div class="tag"><a href="/tags/internet_explorer">internet_explorer</a></div> <div class="tag"><a href="/tags/win32">win32</a></div> </div> <p>With Perl it is always easier than you think</p> <h5><a class="moretag" href="https://www.perl.com/article/139/2014/12/11/Automated-Internet-Explorer-screenshots-using-Win32-OLE/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/138/thumb_589C58AA-7EE4-11E4-9429-0240B3613736.png)"></div> </div> <div class="col-sm-9"> <a href="/article/138/2014/12/8/Controlling-Firefox-from-Perl/" rel="bookmark" title="Link to Controlling Firefox from Perl"> <h2 class="blog-post-title">Controlling Firefox from Perl</h2> </a> <p class="blog-post-meta">Dec 8, 2014 by <a href="/authors/brian-d-foy">brian d foy</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/javascript">javascript</a></div> <div class="tag"><a href="/tags/firefox">firefox</a></div> <div class="tag"><a href="/tags/mechanize">mechanize</a></div> </div> <p>Form submission, scraping, JavaScript execution are all possible</p> <h5><a class="moretag" href="https://www.perl.com/article/138/2014/12/8/Controlling-Firefox-from-Perl/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/author/david-farrell.jpg)"></div> </div> <div class="col-sm-9"> <a href="/article/116/2014/9/18/Easily-check-your-IP-address-with-Perl/" rel="bookmark" title="Link to Easily check your IP address with Perl"> <h2 class="blog-post-title">Easily check your IP address with Perl</h2> </a> <p class="blog-post-meta">Sep 18, 2014 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/ip">ip</a></div> <div class="tag"><a href="/tags/address">address</a></div> <div class="tag"><a href="/tags/ipinfo">ipinfo</a></div> <div class="tag"><a href="/tags/curlmyip">curlmyip</a></div> <div class="tag"><a href="/tags/geo_ip">geo_ip</a></div> <div class="tag"><a href="/tags/geolocate">geolocate</a></div> <div class="tag"><a href="/tags/maxmind">maxmind</a></div> </div> <p>The WWW::curlmyip module is an API for curlmyip.com</p> <h5><a class="moretag" href="https://www.perl.com/article/116/2014/9/18/Easily-check-your-IP-address-with-Perl/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/102/thumb_72C9C7DC-0AF2-11E4-B70D-23925E2B53EB.jpeg)"></div> </div> <div class="col-sm-9"> <a href="/article/102/2014/7/15/Generate-static-websites-from-dynamic-Perl-web-apps/" rel="bookmark" title="Link to Generate static websites from dynamic Perl web apps"> <h2 class="blog-post-title">Generate static websites from dynamic Perl web apps</h2> </a> <p class="blog-post-meta">Jul 15, 2014 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/nginx">nginx</a></div> <div class="tag"><a href="/tags/mvc">mvc</a></div> <div class="tag"><a href="/tags/static">static</a></div> <div class="tag"><a href="/tags/web">web</a></div> <div class="tag"><a href="/tags/wallflower">wallflower</a></div> <div class="tag"><a href="/tags/psgi">psgi</a></div> <div class="tag"><a href="/tags/framework">framework</a></div> </div> <p>App::Wallflower generates static apps from PSGI applications</p> <h5><a class="moretag" href="https://www.perl.com/article/102/2014/7/15/Generate-static-websites-from-dynamic-Perl-web-apps/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/85/thumb_ECCE3D08-FF2E-11E3-8D5F-5C05A68B9E16.png)"></div> </div> <div class="col-sm-9"> <a href="/article/85/2014/5/5/Just-how-much-heavier-is-Catalyst-than-Dancer2/" rel="bookmark" title="Link to Just how much heavier is Catalyst than Dancer2?"> <h2 class="blog-post-title">Just how much heavier is Catalyst than Dancer2?</h2> </a> <p class="blog-post-meta">May 5, 2014 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/catalyst">catalyst</a></div> <div class="tag"><a href="/tags/dancer">dancer</a></div> <div class="tag"><a href="/tags/mvc">mvc</a></div> </div> <p>We compare the two web frameworks dependencies and test suites</p> <h5><a class="moretag" href="https://www.perl.com/article/85/2014/5/5/Just-how-much-heavier-is-Catalyst-than-Dancer2/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/77/thumb_EC900B50-FF2E-11E3-B753-5C05A68B9E16.jpeg)"></div> </div> <div class="col-sm-9"> <a href="/article/77/2014/3/17/Simple-web-framework-FastCGI-caching-with-nginx-part-2/" rel="bookmark" title="Link to Simple web framework FastCGI caching with nginx - part 2"> <h2 class="blog-post-title">Simple web framework FastCGI caching with nginx - part 2</h2> </a> <p class="blog-post-meta">Mar 17, 2014 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/module">module</a></div> <div class="tag"><a href="/tags/nginx">nginx</a></div> <div class="tag"><a href="/tags/dancer">dancer</a></div> <div class="tag"><a href="/tags/mojolicious">mojolicious</a></div> <div class="tag"><a href="/tags/cache">cache</a></div> </div> <p>Safely purge individually cached upstream responses</p> <h5><a class="moretag" href="https://www.perl.com/article/77/2014/3/17/Simple-web-framework-FastCGI-caching-with-nginx-part-2/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/76/thumb_EC83FACC-FF2E-11E3-BBAC-5C05A68B9E16.jpeg)"></div> </div> <div class="col-sm-9"> <a href="/article/76/2014/3/11/Simple-web-framework-FastCGI-caching-with-nginx-part-1/" rel="bookmark" title="Link to Simple web framework FastCGI caching with nginx - part 1"> <h2 class="blog-post-title">Simple web framework FastCGI caching with nginx - part 1</h2> </a> <p class="blog-post-meta">Mar 11, 2014 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/nginx">nginx</a></div> <div class="tag"><a href="/tags/catalyst">catalyst</a></div> <div class="tag"><a href="/tags/dancer">dancer</a></div> <div class="tag"><a href="/tags/mojolicious">mojolicious</a></div> <div class="tag"><a href="/tags/cache">cache</a></div> </div> <p>How to cache responses from fastcgi apps and how to clear the cache</p> <h5><a class="moretag" href="https://www.perl.com/article/76/2014/3/11/Simple-web-framework-FastCGI-caching-with-nginx-part-1/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/63/thumb_EC2F7326-FF2E-11E3-B942-5C05A68B9E16.png)"></div> </div> <div class="col-sm-9"> <a href="/article/63/2014/1/26/Download-a-YouTube-video-with-one-line-of-Perl/" rel="bookmark" title="Link to Download a YouTube video with one line of Perl"> <h2 class="blog-post-title">Download a YouTube video with one line of Perl</h2> </a> <p class="blog-post-meta">Jan 26, 2014 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/one_liner">one_liner</a></div> <div class="tag"><a href="/tags/youtube">youtube</a></div> </div> <p>… and a lot of of help from WWW::YouTube::Download</p> <h5><a class="moretag" href="https://www.perl.com/article/63/2014/1/26/Download-a-YouTube-video-with-one-line-of-Perl/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/author/david-farrell.jpg)"></div> </div> <div class="col-sm-9"> <a href="/article/60/2014/1/13/Display-beautiful-Perl-code-in-HTML-without-JavaScript/" rel="bookmark" title="Link to Display beautiful Perl code in HTML without JavaScript"> <h2 class="blog-post-title">Display beautiful Perl code in HTML without JavaScript</h2> </a> <p class="blog-post-meta">Jan 13, 2014 by <a href="/authors/david-farrell">David Farrell</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/module">module</a></div> <div class="tag"><a href="/tags/syntax">syntax</a></div> <div class="tag"><a href="/tags/html">html</a></div> <div class="tag"><a href="/tags/javascript">javascript</a></div> </div> <p>PPI::Prettify makes pretty-printing Perl code as HTML easy</p> <h5><a class="moretag" href="https://www.perl.com/article/60/2014/1/13/Display-beautiful-Perl-code-in-HTML-without-JavaScript/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/author/jt-smith.jpg)"></div> </div> <div class="col-sm-9"> <a href="/pub/2012/12/consuming-restful-services-with-perl.html/" rel="bookmark" title="Link to Consuming RESTful Services with Perl"> <h2 class="blog-post-title">Consuming RESTful Services with Perl</h2> </a> <p class="blog-post-meta">Dec 31, 2012 by <a href="/authors/jt-smith">JT Smith</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> </div> <p>When JT Smith ported his web game The Lacuna Expanse to a board game, he used Perl to create the board game itself. Here’s how he built the web service behind The Game Crafter.</p> <h5><a class="moretag" href="https://www.perl.com/pub/2012/12/consuming-restful-services-with-perl.html/">Read it</a></h5> </div> </div> </article> <article> <div class="row blog-post"> <div class="col-sm-2"> <div class="circle-avatar" style="background-image:url(/images/author/jt-smith.jpg)"></div> </div> <div class="col-sm-9"> <a href="/pub/2011/04/writing-on-walls-with-facebookgraph.html/" rel="bookmark" title="Link to Writing on Walls with Facebook::Graph"> <h2 class="blog-post-title">Writing on Walls with Facebook::Graph</h2> </a> <p class="blog-post-meta">Apr 4, 2011 by <a href="/authors/jt-smith">JT Smith</a> </p> <div class="tags"> <div class="category"><a href="/categories/web">web</a></div> <div class="tag"><a href="/tags/cpan">cpan</a></div> <div class="tag"><a href="/tags/dancer">dancer</a></div> <div class="tag"><a href="/tags/facebook">facebook</a></div> <div class="tag"><a href="/tags/facebook-graph">facebook-graph</a></div> <div class="tag"><a href="/tags/web-development">web-development</a></div> </div> <p>JT Smith shows how to write Facebook applications with offline permissions to post to user walls with Perl and Facebook::Graph.</p> <h5><a class="moretag" href="https://www.perl.com/pub/2011/04/writing-on-walls-with-facebookgraph.html/">Read it</a></h5> </div> </div> </article> <nav id="nav-below" class="navigation" role="navigation"> <div class="older"> <a href="/categories/web/page/2/">« Older Posts</a> </div> <div class="clearfix"></div> <div class="pagination">Page 1 of 5</div> </nav> </div> <div class="col-sm-3"> <div class="row" style="margin-top:20px"> <div class="col-sm-12 centering"> <script async src="/widget/toplinks/toplinks.js" type="text/javascript"></script> <div id="toplinks"></div> </div> </div> <div class="row" style="margin-top:20px"> <div class="col-sm-12 centering"> <script src="https://www.reddit.com/r/perl/hot/.embed?limit=10&t=all" type="text/javascript"></script> </div> </div> </div> </div> </div> </section> <div class="push"></div> <div class="footer"> <div class="container"> <div class="row"> <div class="col-md-1"> <h5>Site Map</h5> <ul> <li><a href="/">Home</a></li> <hr> <li><a href="/about">About</a></li> <hr> <li><a href="/authors">Authors</a></li> <hr> <li><a href="/categories">Categories</a></li> <hr> <li><a href="/tags">Tags</a></li> <hr> </ul> </div> <div class="col-md-3"> <h5>Contact Us</h5> <p>To get in touch, send an email to <i>perl.com-editor@perl.org</i>, or <A href="https://github.com/perladvent/perldotcom/issues">submit an issue to perladvent/perldotcom</a> on GitHub.</p> <p><a href="https://perl.org"> <img src="/images/site/perl-camel.png" width="20" height="20" alt="Perl Camel"></a> <a href="/article/index.xml" /><img src="/images/site/rss_20.png" alt="rss"></a> <a href="https://github.com/perladvent/perldotcom"> <img src="/images/site/github_light_20.png" alt="GitHub logo"></a></p> </div> <div class="col-md-2"> <h5>License</h5> <p>This work is licensed under a <a rel="license" href="https://creativecommons.org/licenses/by-nc/3.0/">Creative Commons Attribution-NonCommercial 3.0 Unported License</a>.</p> <p><a rel="license" href="https://creativecommons.org/licenses/by-nc/3.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc/3.0/88x31.png" /></a></p> </div> <div class="col-md-5"> <h5>Legal</h5> <p>Perl.com and the authors make no representations with respect to the accuracy or completeness of the contents of all work on this website and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. The information published on this website may not be suitable for every situation. All work on this website is provided with the understanding that Perl.com and the authors are not engaged in rendering professional services. Neither Perl.com nor the authors shall be liable for damages arising herefrom.</p> </div> </div> </div> </div> <script src="/javascript/jquery.min.js"></script> <script src="/javascript/bootstrap.min.js"></script> </body> </html>