2013.04.17 in #91perltricks.com - a new Perl website
David Farrell (sillymoose) has started a new web site writing articles about Perl. Looks nice, and already has a few articles.
2013.09.17 in #113How to Load YAML Config Files
David Farrell shows how to use the LoadFile function of YAML::XS and how to access the data after loading it.
2013.10.11 in #117How to schedule Perl scripts using cron
Real life has swiss army knives and duct tape, the Unix environment has Perl and cron. David Farrell offers a nice little tutorial on how to make those two fundamental sysadmin tools play well together.
2013.11.14 in #121A Stratopan quick start user guide
Now that Stratopan is out in public beta, David Farrell has quickly created a start-up guide with screenshots and explanation.
2014.01.01 in #128Shazam! Use Image::Magick with Perlbrew in minutes
Most Perl modules are trivial to install. A select few are however... ah, shall we say, more challengeful? Image::Magick is definitively an emerit member of this very exclusive teeth-gnashing club. But take heart: David Farrell shares with us the proper incantation to summon this most useful image manipulation module to your machine.
2014.01.05 in #129The easy way to build stand-alone Perl apps
So you have this Perl program that you want to use as a stand-alone application. No libraries to install, just a vanilla perl on the target machine, your file, and that's it. David Farrell shows you how that's possible to do using App::FatPacker.
2014.01.10 in #129Solve almost any datetime need with Time::Piece
DateTime isn't the only kid on the block when it comes to temporal needs. There is also the friendlier Time::Piece which, David Farrell argues, might fit most of your needs.
2014.01.21 in #131Make your code run faster with Perl's secret turbo module
David Farrell describes the MCE, the Many-core Engine module of Mario E. Roy. It provides parallel processing capabilities using either forks or threads, whichever is available on your system.
2014.01.29 in #132Announcing: the Perl Nerd Merit Badge contest
Would you like to win a Perl Nerd Badge with a Velociraptor on it? You only have to write an article for the Perltricks site and submit it before February 21, 2014.
2014.02.17 in #135Is PearlBee Perl's next great blogging platform?
David Farrel describes how to get started with this new blogging platform. Have you started to use it? If yes, please let me know, even if the blog is not about Perl. (reddit)
2014.02.24 in #136Perl levels up with native subroutine signatures
v5.19.9 the latest development release of Perl edging toward 5.20 already has an experimental feature called 'signatures'. It will let you declare sub f($name, $email) {} eliminating the need to deal with @_. It is still far away from what Method::Signatures provides, but at least it will be part of the language.
2014.03.21 in #139PerlTricks.com is a year old
David Farrell shares some stats of his (their?) website. 17,000 visitors in February 2014, and pages per visit is 1.5. He wants to grow the visitor count to 70,000 in the next year.
2014.03.27 in #140Perl references: create, dereference and debug with confidence
Funnily, a day after I published an article explaining the various return values of the ref() command, David Farrell has also published an article explaining how to use references in Perl.
2014.04.04 in #141What's new on CPAN - March 2014
David Farrell gives us here a curated list of the interesting new modules that appeared on CPAN in March. Lots of nifty treasures in there.
2014.05.15 in #147Debunk Perl's magic with B::Deparse
A short little reminder by David Farrell that, no matter how beffudling a snippet of Perl can be, B::Deparse is always there to help shed a light on what's really going on.
2014.05.22 in #148How to contribute to the exercism.io Perl 5 repo
Exercism.io is an awesome site giving small tasks to learn a vast array of languages, and providing a nice feedback system. David Farrell shows how easily one can contribute to and expand the list of Perl exercises.
2014.05.27 in #149perl 5.20 released
Many improvements, including experimental Subroutine signatures. Go ahead compile it from source and start using it. Soon after the announcement David Farrell posted a short overview of what you need to know about perl 5.20.
2014.07.10 in #155HTML pro-parsing tips
"Parse HTML? Easy, let me write a regex!" NO! Stop right there, and go read David Farell's tricks and recommendations to sanely parse HTML instead. Trust me, you'll thank me later.
2014.07.15 in #156Generate static websites from dynamic Perl web apps
Catalyst, Dancer, Mojolicious and all the web framework are great to get the stuff done. But sometimes we need a static representation of the final website. That's where Wallflower comes in, and David Farrell shows us how to use it.
2014.08.21 in #161Who has the best package manager? Part one
We all know: the language is only half of the story. The other half is the vast ecosystem of add-ons, modules, plugins or packages. David Farrell explores how the package managers of Perl, PHP, Python, Node.js and Ruby fare against each other.
2014.09.02 in #163What's new on CPAN August 2014
The, already traditional monthly round-up of David Farrell listing a number of new CPAN modules.
2014.09.18 in #165Easily check your IP address with Perl
David Farrell uses HTTP::Tiny and WWW::curlmyip to fetch the IP address as seen by the curlmyip.com site and then uses Geo::IP to map it to a city.
2014.09.26 in #166Shellshock and Perl
By now everybody knows what the shellshock exploit is (or wonders why herds of sysadmins all over the world have been running around, arms flapping in abject panic, for the last few days). But what does it means for Perl? David Farrell has the answer.
2014.10.03 in #167What's new on CPAN - September 2014
The monthly report of David Farell on the newly uploaded modules on CPAN. You can get the raw list from MetaCPAN (see the screencast about MetaCPAN recent uploads), but it is much more fun to see the list categorized and commented.
2014.10.05 in #167Neutralize Shellshock by patching Bash with Perl
Last week, after sharing the previous article of David Farrell about the Shell voulnaribility and its impact on Perl, we got quite a few comments explaining that the article did not take into account mod_perl/cgi/something else. I am far from being an expert on security and Bash and this particular issue, so I am not sure this is a complete and correct solution, but I think it is definitely good to see solutions in Perl to problems not caused by Perl.
2014.10.10 in #168Hello berrybrew, the Strawberry Perl version manager
Windows users, prepare to squeal in glee. David Farrell introduces his berrybrew, a Strawberry Perl version manager (think perlbrew/plenv, but for the Windows platform).
2014.10.25 in #170Devel::DidYouMean
David Farrell created Devel::DidYouMean (currently tagged experimental), which “intercepts failed function and method calls, suggesting the nearest matching available subroutines in the context in which the erroneous function call was made”. It was inspired by the did_you_mean ruby gem.
2015.01.25 in #183Introducing 3 new Perl Glyphs
Thanks to David, you can now augment your herd of glyphs with Perl's well-known sigils -- the camel, the onion and Camelia the butterfly, they are now available in beautifully scalable svg glory.
2015.02.06 in #185What's new on CPAN - January 2015
The already tradition monthly report of David listing a selected list of newly uploaded CPAN modules.
2015.02.09 in #186Build a Reddit bot with Perl
Reddit is link-sharing and discussing site running on some open source Python code. It has so called 'subredits' that are categories for sharing links related to a specific topic. Posting an article on Reddit can get hundreds or thousands of additional visitors to an article, and via their aggregation it can expose the Perl-related activity to other communities as well.
2015.02.10 in #238What's new on CPAN - January 2015
David's selection of new modules released to CPAN in January. He's decided not to continue with his "module of the month", considering it an experiment that has run its course. One worth looking at is Importer.
2015.03.02 in #188Hello perldoc, productivity booster
Some tools help and some tools are next to indispensable. Perldoc squarely falls in the second category. David offers us here a quick review of its main use cases.
2015.03.02 in #189What's new on CPAN - February 2015
David's monthly update on new CPAN distributions released in the last month. He now showcases a "module of the month" each time, and this month that was File::Serialize, which is a nifty module, even if Yannick can't spell serialise.
2015.03.16 in #190Quickly Debug your Perl code at the command line
perl, the executable, comes with a vast panoply of command-line arguments. David covers here the most useful ones you absolutely need to know.
2015.03.23 in #192Calculate Fortune's Formula with Perl
David introduces the Kelly criterion, a formula used to calculate what percentage of your bank you should stake. He's released Algorithm::Kelly to Kelly, if you're interested. The Kelly criterion is widely used by betting types (my missus and I used the Kelly criterion in the horse-betting system we ran a few years back. Not that we're betting types. Any more).
2015.04.15 in #195Unit test your code on an in-memory database
Replace your real database with an SQLite database that only uses memory to store data. Much faster than your regular database and you can be sure only your application has access to it.
2015.05.14 in #199Miniconf NYC - a free Perl conference
Following the demise of Mojoconf, David and Richard Elberger are organising a mini conference in New York on Saturday 6th June. Current plans include training, a hackathon, and lightning talks. Plus swag!
2015.06.09 in #203Get to grips with Prove, Perl's test workhorse
Perl's testing ecosystem is awesome. One of its core tools is 'prove'. If you don't already know how to use it, you're in luck: David will show you the important bits.
2015.07.01 in #206Basic network hacking with Perl
Tow of the scripts from 'Penetration Testing With Perl' refactored: 'Livehost Detection' and 'Fingerprinting'.
2015.07.20 in #209Port scanning with Perl
David continues his series of infosec articles by explaining port scanning, then showing how you can build a port scanner in Perl 5.
2015.08.04 in #211What's new on CPAN - July 2015
David's monthly curated round-up of new distributions on CPAN, including his personal choice for new module of the month, which comes from Damian Conway.
2015.09.22 in #218Activating Perl 6 syntax highlighting in Vim
By default vim, as most of the other editors, recognize the type of a file based on their extension. Because the in many cases the file extension of Perl 5 and Perl 6 files are the same, vim keeps trying to use the Perl 5 syntax highlighter on Perl 6 files, and fails. David has a couple of suggestions, including looking at the content of the file, to recognize that it is a Perl 6 file. He also provides the vim script for this.
2015.10.21 in #222Professional scripts are a snap with Getopt::Long
When writing CLI tools, the argument munging and usage/help outputs are the boring, trudging things that are a terrible bore, but needs to be done. But, fortunately for us, Getopt::Long is there to remove most of that tedium.
2015.11.04 in #224Run only one instance of a program at a time
What if you'd like to run a program frequently, but would also like to make sure the previous instance finished before launching a new one. One solution offered by David is to use a lockfile. But what if the process gets stuck?
2015.11.28 in #227How to install any Perl module
A quick reference style post that lists some of the problems you might encounter when trying to install Perl 5 modules, and what to do about them.
2015.12.03 in #228Making the Larry Wall shirt
David made a cool "Larry Wall, hero of the revolution" t-shirt (if you want one, the Kickstarter is still ongoing, hurry!). He shares here the how he uses Gimp and Inkscape to create the t-shirt's picture.
2015.12.08 in #229What's new on CPAN - November 2015
David's monthly round-up of new modules on CPAN. No module of the month this month, so I guess we all need to try harder in December.
2015.12.09 in #229Create GitHub files automatically with Dist::Zilla
David shows how he uses Dist::Zilla to ensure that certain files from his CPAN distributions appear in the github repo, even though they're generated by Dist::Zilla, and thus usually won't be found in repos.
2016.01.05 in #233Save time with compile tests
Every troubleshooting session should begin with "is it turned on?". Likewise, each test run should begin with "does it compile?".
2016.03.09 in #243What is the Perl Core?
David explains about core modules, and points out some Linux distributions that don't ship with all the expected core modules.
2016.08.23 in #266Save space with bit arrays
In the early days of computing we had a very limited memory and thus worked using bits where possible. With 'big data' we might be back to the same problem. Saving space.
2018.01.12 in #338Writing your own XS functions
In part one, we learned the basic components of XS, and integrated two C functions into Perl. This chapter is going to show you how to define xsubs that accept multiple parameters, and define your own logic, instead of using XS as a Foreign Function Interface to a C library.
2018.03.12 in #347Hidden Gems of Perl.com Vol.2
David found Tom Christiansen's Perl style guide. Inspite of being old, the style guide has some valuable tips.
2018.04.30 in #354XS utility routines that are good to know
XS is the language that can glue Perl and C together. David covers some useful routines for common cases you'll encounter when programming in XS. The areas he covers are: Scheduling XS code to run at startup. Handling tied variables. Unicode tools.
2018.05 in #355What's new on CPAN - April 2018
The monthly collection of awesome stuff on CPAN. For example Geo::Privacy provides lookups for EU and GDPR countries
2018.12.03 in #385Validating untrusted input: numbers
What is a number? Is 2.3 a number? Is 0.3 a number? What about .3 or 2. - are those considered numbers? It all depends who do you ask. Perl comes with Scalar::Util that has a function called 'looks_like_number' that I think embodies this question. Perl won't commit to declare that the given string is indeed a number in your univers. It just say it looks like one. David explains the problems with this function and shows other ways to check if a string is indeed a number.
2020.07.10 in #469Listen to Larry Wall's State of the Onion 2000 on YouTube
Todd Rinaldo has uploaded Larry's State of the Onion talk from YAPC 19100 to YouTube. Previously it was available in separate mp3 files, but this is much more accessible.
2021.01.25 in #497The Trouble with Reference Counting
Perl uses a simple form of garbage collection (GC) called reference counting. Every variable created by a Perl program has a refcnt associated with it. If the program creates a reference to the variable, Perl increments its refcnt. Whenever Perl exits a block it reclaims any variables that belong to the block scope. If any are references, their referenced values' refcnt are either decremented or they're reclaimed as well if no other references to them remain.