CINXE.COM
Programming Perl
<!DOCTYPE html> <html lang="en-US" class="no-js"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="https://gmpg.org/xfn/11"> <script>(function(html){html.className = html.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script> <title>Programming Perl</title> <meta name='robots' content='max-image-preview:large' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel='dns-prefetch' href='//s.w.org' /> <link href='https://fonts.gstatic.com' crossorigin rel='preconnect' /> <link rel="alternate" type="application/rss+xml" title="Programming Perl » Feed" href="https://www.programmingperl.org/feed/" /> <link rel="alternate" type="application/rss+xml" title="Programming Perl » Comments Feed" href="https://www.programmingperl.org/comments/feed/" /> <script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/13.1.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.programmingperl.org\/wp-includes\/js\/wp-emoji-release.min.js?ver=5.8.3"}}; !function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){var a=String.fromCharCode;p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,e),0,0);e=i.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(a.apply(this,t),0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(!p||!p.fillText)return!1;switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s([127987,65039,8205,9895,65039],[127987,65039,8203,9895,65039])?!1:!s([55356,56826,55356,56819],[55356,56826,8203,55356,56819])&&!s([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]);case"emoji":return!s([10084,65039,8205,55357,56613],[10084,65039,8203,55357,56613])}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(n=t.source||{}).concatemoji?c(n.concatemoji):n.wpemoji&&n.twemoji&&(c(n.twemoji),c(n.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.programmingperl.org/wp-includes/css/dist/block-library/style.min.css?ver=5.8.3' media='all' /> <style id='wp-block-library-theme-inline-css'> #start-resizable-editor-section{display:none}.wp-block-audio figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio figcaption{color:hsla(0,0%,100%,.65)}.wp-block-code{font-family:Menlo,Consolas,monaco,monospace;color:#1e1e1e;padding:.8em 1em;border:1px solid #ddd;border-radius:4px}.wp-block-embed figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed figcaption{color:hsla(0,0%,100%,.65)}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:hsla(0,0%,100%,.65)}.wp-block-image figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-image figcaption{color:hsla(0,0%,100%,.65)}.wp-block-pullquote{border-top:4px solid;border-bottom:4px solid;margin-bottom:1.75em;color:currentColor}.wp-block-pullquote__citation,.wp-block-pullquote cite,.wp-block-pullquote footer{color:currentColor;text-transform:uppercase;font-size:.8125em;font-style:normal}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;position:relative;font-style:normal}.wp-block-quote.has-text-align-right{border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote.has-text-align-center{border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large{border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-group.has-background{padding:1.25em 2.375em;margin-top:0;margin-bottom:0}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto;opacity:.4}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{padding:.5em;border:1px solid;word-break:normal}.wp-block-table figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table figcaption{color:hsla(0,0%,100%,.65)}.wp-block-video figcaption{color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video figcaption{color:hsla(0,0%,100%,.65)}.wp-block-template-part.has-background{padding:1.25em 2.375em;margin-top:0;margin-bottom:0}#end-resizable-editor-section{display:none} </style> <link rel='stylesheet' id='titan-adminbar-styles-css' href='https://www.programmingperl.org/wp-content/plugins/anti-spam/assets/css/admin-bar.css?ver=7.3.0' media='all' /> <link rel='stylesheet' id='twentysixteen-fonts-css' href='https://fonts.googleapis.com/css?family=Merriweather%3A400%2C700%2C900%2C400italic%2C700italic%2C900italic%7CMontserrat%3A400%2C700%7CInconsolata%3A400&subset=latin%2Clatin-ext&display=fallback' media='all' /> <link rel='stylesheet' id='genericons-css' href='https://www.programmingperl.org/wp-content/themes/twentysixteen/genericons/genericons.css?ver=20201208' media='all' /> <link rel='stylesheet' id='twentysixteen-style-css' href='https://www.programmingperl.org/wp-content/themes/twentysixteen/style.css?ver=20201208' media='all' /> <link rel='stylesheet' id='twentysixteen-block-style-css' href='https://www.programmingperl.org/wp-content/themes/twentysixteen/css/blocks.css?ver=20190102' media='all' /> <!--[if lt IE 10]> <link rel='stylesheet' id='twentysixteen-ie-css' href='https://www.programmingperl.org/wp-content/themes/twentysixteen/css/ie.css?ver=20170530' media='all' /> <![endif]--> <!--[if lt IE 9]> <link rel='stylesheet' id='twentysixteen-ie8-css' href='https://www.programmingperl.org/wp-content/themes/twentysixteen/css/ie8.css?ver=20170530' media='all' /> <![endif]--> <!--[if lt IE 8]> <link rel='stylesheet' id='twentysixteen-ie7-css' href='https://www.programmingperl.org/wp-content/themes/twentysixteen/css/ie7.css?ver=20170530' media='all' /> <![endif]--> <!--[if lt IE 9]> <script src='https://www.programmingperl.org/wp-content/themes/twentysixteen/js/html5.js?ver=3.7.3' id='twentysixteen-html5-js'></script> <![endif]--> <script src='https://www.programmingperl.org/wp-includes/js/jquery/jquery.min.js?ver=3.6.0' id='jquery-core-js'></script> <script src='https://www.programmingperl.org/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.3.2' id='jquery-migrate-js'></script> <link rel="https://api.w.org/" href="https://www.programmingperl.org/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.programmingperl.org/xmlrpc.php?rsd" /> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://www.programmingperl.org/wp-includes/wlwmanifest.xml" /> <meta name="generator" content="WordPress 5.8.3" /> <link type="text/css" rel="stylesheet" href="/wp-content/plugins/syntax-highlighter-and-code-prettifier/styles/shCore.css" /> <link type="text/css" rel="stylesheet" href="/wp-content/plugins/syntax-highlighter-and-code-prettifier/styles/shThemeDefault.css" /> <script type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shCore.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushBash.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushCpp.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushCSharp.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushCss.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushDelphi.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushDiff.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushGroovy.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushJava.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushJScript.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushPerl.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushPhp.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushPlain.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushPython.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushRuby.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushScala.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushSql.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushVb.js"></script> <script async type="text/javascript" src="/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/shBrushXml.js"></script> <script type="text/javascript"> SyntaxHighlighter.config.clipboardSwf = '/wp-content/plugins/syntax-highlighter-and-code-prettifier/scripts/clipboard.swf'; SyntaxHighlighter.all(); </script> <!-- Twitter Cards Meta - V 2.5.4 --> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@briandfoy_perl" /> <meta name="twitter:creator" content="@briandfoy_perl" /> <meta name="twitter:url" content="https://www.programmingperl.org" /> <meta name="twitter:title" content="Programming Perl" /> <meta name="twitter:description" content="Programming Perl" /> <meta name="twitter:image" content="http://www.programmingperl.org/images/camel-180.jpg" /> <!-- Twitter Cards Meta By WPDeveloper.net --> </head> <body class="home blog wp-embed-responsive hfeed"> <div id="page" class="site"> <div class="site-inner"> <a class="skip-link screen-reader-text" href="#content">Skip to content</a> <header id="masthead" class="site-header"> <div class="site-header-main"> <div class="site-branding"> <h1 class="site-title"><a href="https://www.programmingperl.org/" rel="home">Programming Perl</a></h1> </div><!-- .site-branding --> </div><!-- .site-header-main --> </header><!-- .site-header --> <div id="content" class="site-content"> <div id="primary" class="content-area"> <main id="main" class="site-main"> <article id="post-226" class="post-226 post type-post status-publish format-standard hentry category-history"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.programmingperl.org/2015/10/the-internet-was-built-on-oreilly-books/" rel="bookmark">“The Internet was Built on O’Reilly Books”</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>In my last post, <a href="/2015/10/tim-oreilly-programming-perl-and-econtalk/">Tim O鈥橰eilly, Programming Perl, and EconTalk</a>, I didn’t mention the other bit I found interesting in Tim’s answers to Russ Robert’s questions. He mentioned a <i>Publishers Weekly</i> cover that featured a stack of O’Reilly books with the tag “The Internet was Built on O’Reilly Books”. </p> <p>I couldn’t track down the cover through regular googling, but I sent a note to Tim complimenting him on the nice interview and asking if he knew the issue. He put Edie Freedman on the job. If you’re a Perl trivia master, you know <a href="http://archive.oreilly.com/pub/a/oreilly//news/ediemals_0400.html">Edie is responsible for the animals covers</a> and specifically the <i>Programming perl</i> cover. She tracked down the cover from February 21, 2000:</p> <p> <a href="https://www.programmingperl.org/2015/10/the-internet-was-built-on-oreilly-books/#more-226" class="more-link">Continue reading<span class="screen-reader-text"> ““The Internet was Built on O’Reilly Books””</span></a></p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="byline"><span class="author vcard"><img alt='' src='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=49&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=98&d=mm&r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy'/><span class="screen-reader-text">Author </span> <a class="url fn n" href="https://www.programmingperl.org/author/briandfoy/">briandfoy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://www.programmingperl.org/2015/10/the-internet-was-built-on-oreilly-books/" rel="bookmark"><time class="entry-date published" datetime="2015-10-28T05:25:58+00:00">October 28, 2015</time><time class="updated" datetime="2022-05-13T06:05:17+00:00">May 13, 2022</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://www.programmingperl.org/category/history/" rel="category tag">History</a></span> </footer><!-- .entry-footer --> </article><!-- #post-226 --> <article id="post-220" class="post-220 post type-post status-publish format-standard hentry category-popular-culture"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.programmingperl.org/2015/10/tim-oreilly-programming-perl-and-econtalk/" rel="bookmark">Tim O’Reilly, Programming Perl, and EconTalk</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>Tim O’Reilly mentioned Perl in <a href="http://www.econtalk.org/archives/2015/10/tim_oreilly_on.html" alt="Tim O'Reilly on Technology and Work, October 5, 2015">his interview with Russ Roberts on Econ Talk</a> on . He points to <i>Programming Perl</i> as the key points in the history of O’Reilly Media. Besides the Perl shoutouts, Tim talks about several other very interesting things. </p> <p><br clear="all"/></p> <div class="image center" align="center"> <div> <a data-flickr-embed="true" href="https://www.flickr.com/photos/lucasartoni/2966993398/in/photolist-5wbBLA-m6G9a-b5TDW-5wbG4L-3YFGW-dwBWk-m6Gta-5nRZQm-m6G2y-m6Ght-aDfNC-aDfy8-3Z6CMo-5B9i2Q-woPXG-c1PL5L-8Vou4W-c1PMHQ-aDiRu-aDiRL-6tXAtJ-6tTskT-6tXAsA-5vB6Vv-9Me1yY-AoqF-phqVtR-ph9S2P-oZVHQP-5EjHi-p8hbs-4ws2p4-dTq5R-dTq7x-dTq6x-6sJJnp-6sJJcB-6sNWFE-6sJP8a-6sJEJ2-6sNT4Q-6sJFrV-6sNTyY-6sJF1F-6sJH1c-6sNWuy-6sNPy9-6sNMd3-6sJLu2-6sJNv6" title="Alessio e Tim"><img loading="lazy" src="https://farm4.staticflickr.com/3202/2966993398_5423433fd8.jpg" width="500" height="331" alt="Alessio e Tim" /></a><script async src="//embedr.flickr.com/assets/client-code.js" charset="utf-8"></script> </div> </div> <p> <a href="https://www.programmingperl.org/2015/10/tim-oreilly-programming-perl-and-econtalk/#more-220" class="more-link">Continue reading<span class="screen-reader-text"> “Tim O’Reilly, Programming Perl, and EconTalk”</span></a></p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="byline"><span class="author vcard"><img alt='' src='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=49&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=98&d=mm&r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy'/><span class="screen-reader-text">Author </span> <a class="url fn n" href="https://www.programmingperl.org/author/briandfoy/">briandfoy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://www.programmingperl.org/2015/10/tim-oreilly-programming-perl-and-econtalk/" rel="bookmark"><time class="entry-date published" datetime="2015-10-27T18:47:20+00:00">October 27, 2015</time><time class="updated" datetime="2022-05-13T06:05:17+00:00">May 13, 2022</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://www.programmingperl.org/category/popular-culture/" rel="category tag">Popular Culture</a></span> </footer><!-- .entry-footer --> </article><!-- #post-220 --> <article id="post-216" class="post-216 post type-post status-publish format-standard hentry category-publishing"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.programmingperl.org/2015/08/update-your-programming-perl-ebook/" rel="bookmark">Update your Programming Perl ebook!</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>If you bought the e-book version of <i>Programming Perl, 4th Edition</i>, you should be able to get the updated copy of it. In that, we fix various typos and thought errors reported through the <a href="http://www.oreilly.com/catalog/errata.csp?isbn=9780596004927">errata system</a>. And, we refresh the bits so all those stale 1s and 0s are replaced with new ones.</p> <p><br clear="all" /></p> <div class="image center"> <img src="/downloads/updated-ebook.png" /> </div> <p><!--new--></p> <p>You can <a href="http://www.oreilly.com/register/">register your paper copy of any O’Reilly book</a> to get a discount on the e-version. Better than that, you can connect your Dropbox account (<a href="https://db.tt/r9harcWr">referral link</a>) to allow O’Reilly to <a href="http://shop.oreilly.com/category/customer-service/dropbox.do">automatically sync your purchases and updates</a>.</p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="byline"><span class="author vcard"><img alt='' src='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=49&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=98&d=mm&r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy'/><span class="screen-reader-text">Author </span> <a class="url fn n" href="https://www.programmingperl.org/author/briandfoy/">briandfoy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://www.programmingperl.org/2015/08/update-your-programming-perl-ebook/" rel="bookmark"><time class="entry-date published" datetime="2015-08-26T00:35:39+00:00">August 26, 2015</time><time class="updated" datetime="2022-05-13T06:05:17+00:00">May 13, 2022</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://www.programmingperl.org/category/publishing/" rel="category tag">Publishing</a></span> </footer><!-- .entry-footer --> </article><!-- #post-216 --> <article id="post-198" class="post-198 post type-post status-publish format-standard hentry category-chapters category-string-formats"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.programmingperl.org/2014/07/packs-c0-and-u0/" rel="bookmark">pack’s C0 and U0</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>Perl’s <code>unpack</code> can work with character data in two ways. The <code>C</code> template does characters and the <code>U</code> does the UTF-8. That they exist doesn’t mean that you should use them, but they exist and I inadvertently overlooked some of their behavior for <i>Programming Perl</i>. These focus a bit too much on Perl’s internal representation of a string, which we shouldn’t do. <a href="https://www.programmingperl.org/2014/07/packs-c0-and-u0/#more-198" class="more-link">Continue reading<span class="screen-reader-text"> “pack’s C0 and U0”</span></a></p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="byline"><span class="author vcard"><img alt='' src='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=49&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=98&d=mm&r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy'/><span class="screen-reader-text">Author </span> <a class="url fn n" href="https://www.programmingperl.org/author/briandfoy/">briandfoy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://www.programmingperl.org/2014/07/packs-c0-and-u0/" rel="bookmark"><time class="entry-date published" datetime="2014-07-31T02:37:06+00:00">July 31, 2014</time><time class="updated" datetime="2022-05-13T06:05:17+00:00">May 13, 2022</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://www.programmingperl.org/category/chapters/" rel="category tag">Chapters</a>, <a href="https://www.programmingperl.org/category/chapters/string-formats/" rel="category tag">String Formats</a></span> </footer><!-- .entry-footer --> </article><!-- #post-198 --> <article id="post-184" class="post-184 post type-post status-publish format-standard hentry category-popular-culture"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.programmingperl.org/2013/12/programming-perl-in-popular-culture/" rel="bookmark">Programming Perl in popular culture</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>While watching <i><a href="http://www.fox.com/brooklyn-nine-nine">Brooklyn 99</a></i>, the new Andy Samberg show, I notice in the background of the police psychologist’s office a curious blue-spined book. The trade dress of O’Reilly books makes them instantly identifiable from a distance, even when blurry (which means the branding people got it right). I had to look at it on pause for a few seconds to convince myself I wasn’t seeing things. <a href="https://www.programmingperl.org/2013/12/programming-perl-in-popular-culture/#more-184" class="more-link">Continue reading<span class="screen-reader-text"> “Programming Perl in popular culture”</span></a></p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="byline"><span class="author vcard"><img alt='' src='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=49&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=98&d=mm&r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy'/><span class="screen-reader-text">Author </span> <a class="url fn n" href="https://www.programmingperl.org/author/briandfoy/">briandfoy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://www.programmingperl.org/2013/12/programming-perl-in-popular-culture/" rel="bookmark"><time class="entry-date published" datetime="2013-12-07T03:20:33+00:00">December 7, 2013</time><time class="updated" datetime="2022-05-13T06:05:17+00:00">May 13, 2022</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://www.programmingperl.org/category/popular-culture/" rel="category tag">Popular Culture</a></span><span class="comments-link"><a href="https://www.programmingperl.org/2013/12/programming-perl-in-popular-culture/#comments">4 Comments<span class="screen-reader-text"> on Programming Perl in popular culture</span></a></span> </footer><!-- .entry-footer --> </article><!-- #post-184 --> <article id="post-179" class="post-179 post type-post status-publish format-standard hentry category-programming-practice tag-github tag-perl-critic tag-perlmonks"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.programmingperl.org/2013/10/camel-perlcritic-policies/" rel="bookmark">Camel Perl::Critic Policies</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p><i>Update: This project has been absorbed into the main <a href="https://github.com/Perl-Critic">Perl::Critic project</a>.</i></p> <p>Chapter 21 of <i>Programming Perl</i> recommends several programming practices and styles. <a href="http://perlmonks.org/?node_id=1057058">Tom meditated on Perlmonks</a> that he’d like to have <a href="http://www.metacpan.org/module/Perl::Critic">Perl::Critic</a> policies for those. <a href="https://www.programmingperl.org/2013/10/camel-perlcritic-policies/#more-179" class="more-link">Continue reading<span class="screen-reader-text"> “Camel Perl::Critic Policies”</span></a></p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="byline"><span class="author vcard"><img alt='' src='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=49&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=98&d=mm&r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy'/><span class="screen-reader-text">Author </span> <a class="url fn n" href="https://www.programmingperl.org/author/briandfoy/">briandfoy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://www.programmingperl.org/2013/10/camel-perlcritic-policies/" rel="bookmark"><time class="entry-date published" datetime="2013-10-07T17:05:46+00:00">October 7, 2013</time><time class="updated" datetime="2022-05-13T06:05:17+00:00">May 13, 2022</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://www.programmingperl.org/category/programming-practice/" rel="category tag">Programming Practice</a></span><span class="tags-links"><span class="screen-reader-text">Tags </span><a href="https://www.programmingperl.org/tag/github/" rel="tag">github</a>, <a href="https://www.programmingperl.org/tag/perl-critic/" rel="tag">perl critic</a>, <a href="https://www.programmingperl.org/tag/perlmonks/" rel="tag">perlmonks</a></span> </footer><!-- .entry-footer --> </article><!-- #post-179 --> <article id="post-160" class="post-160 post type-post status-publish format-standard hentry category-publishing"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.programmingperl.org/2013/07/the-brazilian-programming-perl/" rel="bookmark">The Brazilian Programming Perl</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>There’s a Brazilian Portuguese translation of the Camel book. Randal Schwartz, who is at the <a href="http://softwarelivre.org/fisl13/">13th F贸rum Internacional Software Livre (FISL)</a>, snapped this pic for <a href="https://instagram.com/p/NlkKT2pP8R/">his Instagram</a>: <a href="https://www.programmingperl.org/2013/07/the-brazilian-programming-perl/#more-160" class="more-link">Continue reading<span class="screen-reader-text"> “The Brazilian Programming Perl”</span></a></p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="byline"><span class="author vcard"><img alt='' src='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=49&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=98&d=mm&r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy'/><span class="screen-reader-text">Author </span> <a class="url fn n" href="https://www.programmingperl.org/author/briandfoy/">briandfoy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://www.programmingperl.org/2013/07/the-brazilian-programming-perl/" rel="bookmark"><time class="entry-date published" datetime="2013-07-27T21:10:53+00:00">July 27, 2013</time><time class="updated" datetime="2022-05-13T06:05:17+00:00">May 13, 2022</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://www.programmingperl.org/category/publishing/" rel="category tag">Publishing</a></span> </footer><!-- .entry-footer --> </article><!-- #post-160 --> <article id="post-172" class="post-172 post type-post status-publish format-standard hentry category-giveaways"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.programmingperl.org/2012/08/scott-hildreth-wins-the-programming-perl-cover/" rel="bookmark">Scott Hildreth wins the Programming Perl cover</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>Scott Hildreth, wearing his YAPC::NA::Madison shirt, shows off the framed and signed <i>Programming Perl</i> cover he <a href="https://www.programmingperl.org/2012/06/win-a-framed-cover-of-programming-perl/">won from this blog</a>. I never keep this swag for very long, so you might get some too if you follow along. <a href="https://www.programmingperl.org/2012/08/scott-hildreth-wins-the-programming-perl-cover/#more-172" class="more-link">Continue reading<span class="screen-reader-text"> “Scott Hildreth wins the Programming Perl cover”</span></a></p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="byline"><span class="author vcard"><img alt='' src='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=49&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=98&d=mm&r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy'/><span class="screen-reader-text">Author </span> <a class="url fn n" href="https://www.programmingperl.org/author/briandfoy/">briandfoy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://www.programmingperl.org/2012/08/scott-hildreth-wins-the-programming-perl-cover/" rel="bookmark"><time class="entry-date published" datetime="2012-08-19T21:18:04+00:00">August 19, 2012</time><time class="updated" datetime="2022-05-13T06:05:17+00:00">May 13, 2022</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://www.programmingperl.org/category/giveaways/" rel="category tag">Giveaways</a></span> </footer><!-- .entry-footer --> </article><!-- #post-172 --> <article id="post-157" class="post-157 post type-post status-publish format-standard hentry category-promotions"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.programmingperl.org/2012/07/oscon-discounts-for-perl-books/" rel="bookmark">OSCON discounts for the Camel book</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>During <a href="http://www.oscon.com">OSCON</a>, the <a href="http://shop.oreilly.com/product/9780596004927.do?code=CFOSCON"><i>Programming Perl</i></a> ebook is $19.99 (50% the list price) when you buy it through <a href="http://shop.oreilly.com/category/deals/oscon.do?cmp=tw-code-lp-opensource-geeks">the open source geeks promotion</a> or by using offer code CFOSCON. <a href="https://www.programmingperl.org/2012/07/oscon-discounts-for-perl-books/#more-157" class="more-link">Continue reading<span class="screen-reader-text"> “OSCON discounts for the Camel book”</span></a></p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="byline"><span class="author vcard"><img alt='' src='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=49&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=98&d=mm&r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy'/><span class="screen-reader-text">Author </span> <a class="url fn n" href="https://www.programmingperl.org/author/briandfoy/">briandfoy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://www.programmingperl.org/2012/07/oscon-discounts-for-perl-books/" rel="bookmark"><time class="entry-date published" datetime="2012-07-16T20:44:44+00:00">July 16, 2012</time><time class="updated" datetime="2022-05-13T06:05:17+00:00">May 13, 2022</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://www.programmingperl.org/category/promotions/" rel="category tag">promotions</a></span> </footer><!-- .entry-footer --> </article><!-- #post-157 --> <article id="post-154" class="post-154 post type-post status-publish format-standard hentry category-giveaways"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.programmingperl.org/2012/06/win-a-framed-cover-of-programming-perl/" rel="bookmark">Win a framed cover of Programming Perl</a></h2> </header><!-- .entry-header --> <div class="entry-content"> <p>A framed cover of <i>Programming Perl</i> showed up in my mail today. Our publisher, O’Reilly Media, has been doling these out to authors in the past couple of months. Tom got one about a week ago and I was slightly jealous, even though I already have one for <i>Learning Perl</i>. So what am I going to do with this one? I’ve signed the front glass, not wanting to disturb the very nice framing job, which also means that if you hate my signature, a little rubbing alcohol should remove that easily. <a href="https://www.programmingperl.org/2012/06/win-a-framed-cover-of-programming-perl/#more-154" class="more-link">Continue reading<span class="screen-reader-text"> “Win a framed cover of Programming Perl”</span></a></p> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="byline"><span class="author vcard"><img alt='' src='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=49&d=mm&r=g' srcset='https://secure.gravatar.com/avatar/edd8638efe875601bfe394a8aea5b16d?s=98&d=mm&r=g 2x' class='avatar avatar-49 photo' height='49' width='49' loading='lazy'/><span class="screen-reader-text">Author </span> <a class="url fn n" href="https://www.programmingperl.org/author/briandfoy/">briandfoy</a></span></span><span class="posted-on"><span class="screen-reader-text">Posted on </span><a href="https://www.programmingperl.org/2012/06/win-a-framed-cover-of-programming-perl/" rel="bookmark"><time class="entry-date published" datetime="2012-06-29T00:25:21+00:00">June 29, 2012</time><time class="updated" datetime="2022-05-13T06:05:17+00:00">May 13, 2022</time></a></span><span class="cat-links"><span class="screen-reader-text">Categories </span><a href="https://www.programmingperl.org/category/giveaways/" rel="category tag">Giveaways</a></span><span class="comments-link"><a href="https://www.programmingperl.org/2012/06/win-a-framed-cover-of-programming-perl/#comments">2 Comments<span class="screen-reader-text"> on Win a framed cover of Programming Perl</span></a></span> </footer><!-- .entry-footer --> </article><!-- #post-154 --> <nav class="navigation pagination" role="navigation" aria-label="Posts"> <h2 class="screen-reader-text">Posts navigation</h2> <div class="nav-links"><span aria-current="page" class="page-numbers current"><span class="meta-nav screen-reader-text">Page </span>1</span> <a class="page-numbers" href="https://www.programmingperl.org/page/2/"><span class="meta-nav screen-reader-text">Page </span>2</a> <a class="next page-numbers" href="https://www.programmingperl.org/page/2/">Next page</a></div> </nav> </main><!-- .site-main --> </div><!-- .content-area --> <aside id="secondary" class="sidebar widget-area"> <section id="text-3" class="widget widget_text"> <div class="textwidget"><div id="book_picture" align="center"> <a href="https://www.amazon.com/gp/product/0596004923/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596004923&linkCode=as2&tag=hashbang09-20&linkId=RSNROFVNK3YTPRJA"><img src="/images/camel-180.jpg" width="180" height="236" /></a> </div> <br/> <div id="donate" align="center"> <script type="text/javascript" id='fbnufur'>(function(i){var f,s=document.getElementById(i);f=document.createElement('iframe');f.src='//api.flattr.com/button/view/?uid=briandfoy&button=compact&url='+encodeURIComponent(document.URL);f.title='Flattr';f.height=20;f.width=110;f.style.borderWidth=0;s.parentNode.insertBefore(f,s);})('fbnufur');</script> <br/> <script type="text/javascript" data-gittip-username="briandfoy" data-gittip-widget="button" src="//gttp.co/v1.js"></script> <br/> <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick" /> <input type="hidden" name="hosted_button_id" value="11077925" /> <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!" /> <img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" /> </form> </div></div> </section> <section id="recent-posts-3" class="widget widget_recent_entries"> <h2 class="widget-title">Latest Items</h2><nav role="navigation" aria-label="Latest Items"> <ul> <li> <a href="https://www.programmingperl.org/2015/10/the-internet-was-built-on-oreilly-books/">“The Internet was Built on O’Reilly Books”</a> </li> <li> <a href="https://www.programmingperl.org/2015/10/tim-oreilly-programming-perl-and-econtalk/">Tim O’Reilly, Programming Perl, and EconTalk</a> </li> <li> <a href="https://www.programmingperl.org/2015/08/update-your-programming-perl-ebook/">Update your Programming Perl ebook!</a> </li> <li> <a href="https://www.programmingperl.org/2014/07/packs-c0-and-u0/">pack’s C0 and U0</a> </li> </ul> </nav></section><section id="categories-3" class="widget widget_categories"><h2 class="widget-title">Topics</h2><form action="https://www.programmingperl.org" method="get"><label class="screen-reader-text" for="cat">Topics</label><select name='cat' id='cat' class='postform' > <option value='-1'>Select Category</option> <option class="level-0" value="15">Chapters (1)</option> <option class="level-1" value="16"> String Formats (1)</option> <option class="level-0" value="3">Giveaways (5)</option> <option class="level-0" value="5">History (2)</option> <option class="level-0" value="6">Perks (1)</option> <option class="level-0" value="14">Popular Culture (2)</option> <option class="level-0" value="10">Programming Practice (1)</option> <option class="level-0" value="9">promotions (1)</option> <option class="level-0" value="7">Publishing (3)</option> <option class="level-0" value="8">Reviews (1)</option> <option class="level-0" value="4">Tangible books (2)</option> </select> </form> <script> /* <![CDATA[ */ (function() { var dropdown = document.getElementById( "cat" ); function onCatChange() { if ( dropdown.options[ dropdown.selectedIndex ].value > 0 ) { dropdown.parentNode.submit(); } } dropdown.onchange = onCatChange; })(); /* ]]> */ </script> </section><section id="archives-3" class="widget widget_archive"><h2 class="widget-title">Archives</h2> <label class="screen-reader-text" for="archives-dropdown-3">Archives</label> <select id="archives-dropdown-3" name="archive-dropdown"> <option value="">Select Month</option> <option value='https://www.programmingperl.org/2015/10/'> October 2015 (2)</option> <option value='https://www.programmingperl.org/2015/08/'> August 2015 (1)</option> <option value='https://www.programmingperl.org/2014/07/'> July 2014 (1)</option> <option value='https://www.programmingperl.org/2013/12/'> December 2013 (1)</option> <option value='https://www.programmingperl.org/2013/10/'> October 2013 (1)</option> <option value='https://www.programmingperl.org/2013/07/'> July 2013 (1)</option> <option value='https://www.programmingperl.org/2012/08/'> August 2012 (1)</option> <option value='https://www.programmingperl.org/2012/07/'> July 2012 (1)</option> <option value='https://www.programmingperl.org/2012/06/'> June 2012 (3)</option> <option value='https://www.programmingperl.org/2012/04/'> April 2012 (2)</option> <option value='https://www.programmingperl.org/2012/03/'> March 2012 (3)</option> </select> <script> /* <![CDATA[ */ (function() { var dropdown = document.getElementById( "archives-dropdown-3" ); function onSelectChange() { if ( dropdown.options[ dropdown.selectedIndex ].value !== '' ) { document.location.href = this.options[ this.selectedIndex ].value; } } dropdown.onchange = onSelectChange; })(); /* ]]> */ </script> </section><section id="text-4" class="widget widget_text"><h2 class="widget-title">External Links</h2> <div class="textwidget"><ul> <li><a href="https://www.amazon.com/gp/product/0596004923/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596004923&linkCode=as2&tag=hashbang09-20&linkId=RSNROFVNK3YTPRJA">Amazon.com</a></li> <li><a class="external" href="http://shop.oreilly.com/product/9780596004927.do">O'Reilly catalog page</a></li> <!--<li><a class="external" href="http://my.safaribooksonline.com/book/-/9781449311063">Safari Books Online</a></li>--> <li><a class="external" href="http://oreilly.com/catalog/errata.csp?isbn=9780596004927">Errata</a></li> <li><a class="external" href="http://perldoc.perl.org">Official Perl documentation</a></li> <li><a class="external" href="http://faq.perl.org">Official Perl FAQ</a></li> <li><a class="external" href="http://www.theperlreview.com">The Perl Review</a></li> <li><a class="external" href="http://learn.perl.org">Learn Perl</a>, from <a href="http://www.perlfoundation.org">The Perl Foundation</a></li> <li><a class="external" href="http://www.learning-perl.com">Learning Perl</a></li> <li><a class="external" href="http://www.effectiveperlprogramming.com">The Effective Perler</a></li> </ul></div> </section><section id="text-5" class="widget widget_text"> <div class="textwidget"><div align="center"> <script type="text/javascript"> var amzn_wdgt={widget:'Carousel'}; amzn_wdgt.tag='hashbang09-20'; amzn_wdgt.widgetType='ASINList'; amzn_wdgt.title='Our Perl Books'; amzn_wdgt.width='250'; amzn_wdgt.ASIN='1449303587,1449393098,144939311X,0321496949,059600492,0596004923'; amzn_wdgt.width='200'; amzn_wdgt.height='600'; </script> <script type="text/javascript" src="https://wms.assoc-amazon.com/20070822/US/js/swfobject_1_5.js"> </script> </div></div> </section><section id="text-6" class="widget widget_text"> <div class="textwidget"><div id="book_picture" align="center"><a href="https://amzn.to/3a2Vutu"><img loading="lazy" src="/images/camel-180.jpg" width="180" height="236" /></a></div> <p></p> <div id="donate" align="center"> <p><script async type="text/javascript" id='fbnufur'>(function(i){var f,s=document.getElementById(i);f=document.createElement('iframe');f.src='//button.flattr.com/view/?uid=briandfoy&button=compact&url='+encodeURIComponent(document.URL);f.title='Flattr';f.height=20;f.width=110;f.style.borderWidth=0;s.parentNode.insertBefore(f,s);})('fbnufur');</script></p> <p></p> <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_s-xclick" /><br /> <input type="hidden" name="hosted_button_id" value="11077925" /><br /> <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!" /><br /> <img loading="lazy" alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1" /><br /> </form> </div> <p></p> </div> </section> <section id="recent-posts-4" class="widget widget_recent_entries"> <h2 class="widget-title">Recent Posts</h2><nav role="navigation" aria-label="Recent Posts"> <ul> <li> <a href="https://www.programmingperl.org/2015/10/the-internet-was-built-on-oreilly-books/">“The Internet was Built on O’Reilly Books”</a> </li> <li> <a href="https://www.programmingperl.org/2015/10/tim-oreilly-programming-perl-and-econtalk/">Tim O’Reilly, Programming Perl, and EconTalk</a> </li> <li> <a href="https://www.programmingperl.org/2015/08/update-your-programming-perl-ebook/">Update your Programming Perl ebook!</a> </li> <li> <a href="https://www.programmingperl.org/2014/07/packs-c0-and-u0/">pack’s C0 and U0</a> </li> <li> <a href="https://www.programmingperl.org/2013/12/programming-perl-in-popular-culture/">Programming Perl in popular culture</a> </li> </ul> </nav></section><section id="categories-4" class="widget widget_categories"><h2 class="widget-title">Categories</h2><form action="https://www.programmingperl.org" method="get"><label class="screen-reader-text" for="categories-dropdown-4">Categories</label><select name='cat' id='categories-dropdown-4' class='postform' > <option value='-1'>Select Category</option> <option class="level-0" value="15">Chapters (1)</option> <option class="level-1" value="16"> String Formats (1)</option> <option class="level-0" value="3">Giveaways (5)</option> <option class="level-0" value="5">History (2)</option> <option class="level-0" value="6">Perks (1)</option> <option class="level-0" value="14">Popular Culture (2)</option> <option class="level-0" value="10">Programming Practice (1)</option> <option class="level-0" value="9">promotions (1)</option> <option class="level-0" value="7">Publishing (3)</option> <option class="level-0" value="8">Reviews (1)</option> <option class="level-0" value="4">Tangible books (2)</option> </select> </form> <script> /* <![CDATA[ */ (function() { var dropdown = document.getElementById( "categories-dropdown-4" ); function onCatChange() { if ( dropdown.options[ dropdown.selectedIndex ].value > 0 ) { dropdown.parentNode.submit(); } } dropdown.onchange = onCatChange; })(); /* ]]> */ </script> </section><section id="archives-4" class="widget widget_archive"><h2 class="widget-title">Archives</h2> <label class="screen-reader-text" for="archives-dropdown-4">Archives</label> <select id="archives-dropdown-4" name="archive-dropdown"> <option value="">Select Month</option> <option value='https://www.programmingperl.org/2015/10/'> October 2015 (2)</option> <option value='https://www.programmingperl.org/2015/08/'> August 2015 (1)</option> <option value='https://www.programmingperl.org/2014/07/'> July 2014 (1)</option> <option value='https://www.programmingperl.org/2013/12/'> December 2013 (1)</option> <option value='https://www.programmingperl.org/2013/10/'> October 2013 (1)</option> <option value='https://www.programmingperl.org/2013/07/'> July 2013 (1)</option> <option value='https://www.programmingperl.org/2012/08/'> August 2012 (1)</option> <option value='https://www.programmingperl.org/2012/07/'> July 2012 (1)</option> <option value='https://www.programmingperl.org/2012/06/'> June 2012 (3)</option> <option value='https://www.programmingperl.org/2012/04/'> April 2012 (2)</option> <option value='https://www.programmingperl.org/2012/03/'> March 2012 (3)</option> </select> <script> /* <![CDATA[ */ (function() { var dropdown = document.getElementById( "archives-dropdown-4" ); function onSelectChange() { if ( dropdown.options[ dropdown.selectedIndex ].value !== '' ) { document.location.href = this.options[ this.selectedIndex ].value; } } dropdown.onchange = onSelectChange; })(); /* ]]> */ </script> </section><section id="text-7" class="widget widget_text"><h2 class="widget-title">External Links</h2> <div class="textwidget"><ul> <li><a class="external" href="http://perldoc.perl.org">Official Perl documentation</a></li> <li><a class="external" href="https://www.theperlreview.com">The Perl Review</a></li> <li><a class="external" href="https://www.learning-perl.com">Learning Perl</a></li> <li><a class="external" href="https://www.intermediateperl.com">Intermediate Perl</a></li> <li><a class="external" href="https://www.masteringperl.org">Mastering Perl</a></li> <li><a class="external" href="https://www.effectiveperlprogramming.com">The Effective Perler</a></li> </ul> </div> </section> </aside><!-- .sidebar .widget-area --> </div><!-- .site-content --> <footer id="colophon" class="site-footer"> <div class="site-info"> <span class="site-title"><a href="https://www.programmingperl.org/" rel="home">Programming Perl</a></span> <a href="https://wordpress.org/" class="imprint"> Proudly powered by WordPress </a> </div><!-- .site-info --> </footer><!-- .site-footer --> </div><!-- .site-inner --> </div><!-- .site --> <script src='https://www.programmingperl.org/wp-content/themes/twentysixteen/js/skip-link-focus-fix.js?ver=20170530' id='twentysixteen-skip-link-focus-fix-js'></script> <script id='twentysixteen-script-js-extra'> var screenReaderText = {"expand":"expand child menu","collapse":"collapse child menu"}; </script> <script src='https://www.programmingperl.org/wp-content/themes/twentysixteen/js/functions.js?ver=20181217' id='twentysixteen-script-js'></script> <script src='https://www.programmingperl.org/wp-includes/js/wp-embed.min.js?ver=5.8.3' id='wp-embed-js'></script> </body> </html>