-
2011.09.08 in #7
Lessons from running Perl Weekly for the first 6 weeks
This is another article I wrote, this time on my own blog, describing my experience with this list. It might be interesting to you if you'd like to look a bit at the details. I am also comparing the experience with that of Peter Cooper who runs the Ruby Weekly which was the inspiration to this newsletter.
-
2011.09.09 in #8
Which is the better language to learn Perl or PHP?
I wrote this article in response to a question I got. I tried to make the comparison related to the job opportunities. The article was quite popular but the strange thing was that some of the comments on Google Plus and Twitter related to the relative qualities of the two languages and not the career opportunities.
-
2011.09.26 in #9
Perl Polls: What articles would you like to read?
I've launched the Perl polls web site with the first poll asking where you get Perl news and what articles would you like to read?
-
2011.10.29 in #14
Number Guessing game
Partially in response to the discussions about the sad state of the Perl Tutorials I restarted posting my own tutorials. This is the beginning of a simple and stupid game I wrote a long time ago in another country and in another language.
-
2011.11.03 in #15
Testing a simple Perl module
When starting a new module it is very easy to start writing unit tests from the beginning. In this article, from yours truly, you can learn how to use the Perl testing framework in the most simple way. This article marks the renewal of the Test Automation Tips newsletter. If you are interested, please subscribe.
-
2011.11.03 in #15
Lots of new entries in the Perl Tutorial
I think in the last week I've published 5 new entries in the Perl Tutorial. They are all more or less equal in importance so instead of pointing out one of them, I am linking to the main page of the whole tutorial.
-
2011.11.09 in #16
Perl Tutorial: Scalar and List context in Perl, the size of an array
-
2011.11.15 in #17
How to teach 'Modern' Perl?
People have strong opinion on what Modern Perl means. Unfortunatelly those things don't always work out of the box and sometimes it isn't a good thing to teach those practices at all. At least not as the first experience in tha language. In this article I was trying to discuss some of the issues I see.
-
2011.11.27 in #18
Beginner Perl Maven
Announcing the first online video course I started to record. This is for people learning Perl. There is a special discount coupon for those visiting this page in the next day or so. Feel free to invite your friends to use this discount. It expires in less than 3 days.
-
2011.12.07 in #20
Advanced Perl Maven online video course
When I announced the course I offered a 81% discount for 3 days. I'd like to offer this discount to you, the reader of the Perl Weekly as well: Until the 15th December 2011 you'll be able to buy the advanced course for $9 instead of $49 using the 'advanced_intro_9' coupon. The two parts of the Beginner course also have discount codes: 'beginner_15' and 'beginner2_15' respectively for $15 instead of $39 each.
-
2011.12.22 in #22
7 Curated Weekly newsletters for programmers, sysadmins and what's in between
I posted a list of 7 + 2 newsletter. The JavaScript Weekly and the Ruby Weekly that inspired the Perl Weekly and a few others that had the same inspiration.
-
2012.01.05 in #24
Minimal requirement to build a sane CPAN package
(szabgab) I encounter people who have already written a module or two and now they are considering uploading them to CPAN or just packaging them for easier distribution. In this article I show the minimal step for a simple pure-Perl module.
-
2012.01.10 in #25
How to read a CSV file using Perl?
When parsing an CSV file one would probably start using split() just to find out soon that it only works in simple cases. For more complex cases Text::CSV_XS is a much better solution.
-
2012.01.14 in #25
How to get the Perl Weekly every day?
If you'd like to get the news of Perl weekly even earlier, or if you'd like to recommend individual posts, you can do that through any of 3 social networks.
-
2012.01.14 in #27
How to get the Perl Weekly every day?
Luckily I recently started to share links to articles as I notice them. That already helps me put together the newsletter. If you are interested to follow, you can do it on Google+, Facebook or Twitter.
-
2012.01.15 in #25
Use of uninitialized value
Perl can provide various warnings and errors that can be very unclear to people who are new to perl. In this article I try to explain the 'Use of uninitialized value' warning.
-
2012.01.17 in #26
Global symbol requires explicit package name
This error message is one of the most confusing ones to beginners. In this article I try to explain what should a beginner understand from it.
-
2012.01.31 in #28
The right way to install CPAN modules
perlbrew? CPAN.pm ? cpanm? apt-get?
-
2012.02.03 in #28
Perl on the command line
While in most of the Perl tutorial I deal with scripts, here I give a small glimpse into the world of one-liners.
-
2012.02.04 in #28
Debugging Perl scripts
This is one of the first entries of the Perl Tutorial that gives some simple ideas how to debug Perl code.
-
2012.02.08 in #29
Automatic string to number conversion or casting in Perl
People coming from other programming languages often have trouble with the automatic string to number conversion in Perl. The comments also mention a couple of strange cases.
-
2012.02.09 in #29
$_ the default variable of Perl
IMHO for beginners it's quite hard to find explanation on what are the special variables of Perl. Especially $_ is confusing people and search engines. I hope my little contribution helps.
-
2012.02.10 in #29
Announcing my first Perl e-book
I have been planning to publish my Perl training materials along with the newly written Perl set of articles. This is the first one with the Beginner Perl Maven material.
-
2012.02.12 in #29
DWIM Perl 5.14 for Windows (v7) released
This is the second DWIM release in a week. The first one was using Perl 5.12 but this one already uses the latest version of Perl and includes more than 400 modules from CPAN.
-
2012.02.16 in #30
Matching numbers using Perl regex
I took a regex related question I saw on PDX.pm and described how I'd build the regex step-by-step. The string isn't too complex: 'Usage:524944/1000000 messages' but I hope this approach can help people learn how they can go about building a regular expression.
-
2012.02.25 in #31
What is a Perl Monger group for?
What is the value your Perl Monger group provides you? What would provide you with value that would make it worth for you to join? What does it mean to 'join' a Perl Monger group?
-
2012.03.01 in #32
TODO March 2012
I do monthly reports on my work and make my monthly plans public. You can also see some statistics about the number of Perl Weekly subscribers on the various channels.
-
2012.03.03 in #32
How to remove, copy or rename a file with Perl
Showing 3 functions for dealing with files in Perl with the PHP, Ruby and Python counterparts.
-
2012.03.10 in #33
Extracting data from a file with multi-line records
I was just asked by someone to help with processing a log file. In this article I show 2 solutions. One with a flag the other one with the flip-flop operator of Perl.
-
2012.03.11 in #33
How to build a dynamic web application using PSGI
This is already the second part of a series of articles introducing Plack/PSGI. The first one is linked from this article. They start off at the basics and we'll see what is interesting for people so I know what to write about.
-
2012.03.13 in #34
DWIM Perl for Linux server 5.14.2 v2 released
This is the first public release of this experimental package. The objective is to create a package that can be used for development or on a virtual host to develop and deploy applications written in Perl. It will include every important module that regular command line or web applications might need. Your feedback would be highly appreciated.
-
2012.03.28 in #36
How to create a Perl Module for code reuse?
A simple introduction to creating modules that can export functions.
-
2012.03.31 in #36
Scalable Vector Graphics with Perl
SVG allows you to create nice and scalable graphics using Perl. I wanted to play a bit with it and while reading the documentation I found some issues. So now I am a co-maintainer of the module. You are more than welcome to send bug reports, failing tests and fixes. You can also see a few simple examples in the blog.
-
2012.04.02 in #36
Perl Test Automation Training in Madison, Wisconsin and in Kiev, Ukraine
I am running two sets of the shortened, 2-days version of the training class.
-
2012.04.05 in #37
Simple Database access using Perl DBI and SQL
-
2012.04.15 in #38
Perl Weekly reaches 3,000 subscribers - two days later
This is a follow-up post
-
2012.04.26 in #40
Splice to slice and dice arrays in Perl
Part of the Perl Maven tutorial/book.
-
2012.04.28 in #40
Facebook vs Google+ for Perl projects
Listing the pages and comparing number of followers. If you are on either of those social networks, you might want to check out what pages you could follow.
-
2012.05.03 in #41
Perl Maven Cookbook
Before you get excited in the wrong direction, this has nothing to do with the Apache Maven. This is the first and admittedly very small edition of the Perl Maven Cookbook. This is also the announcement of the Perl Maven web site I have been planning (and not developing) for half a year now. The Cookbook is given exclusively (and free of charge) to the people who subscribe to the Perl Maven newsletter.
-
2012.08.10 in #55
Enlightened Modern Perl or useful Perl?
OK, this is not the only link from my sites, but this one is without technical content. It is a dilemma I have. You might want to share your opinion.
-
2012.09.08 in #59
The most popular Perl web sites
I created a list of perl-related web-sites and checked their rankings using Alexa. Here you can see the most visited sites. A few people were missing their own sites from the list, but actually I was hoping for more people to complain and give me ideas what other sites to track.
-
2012.09.15 in #60
23+2 Perl based open source products
This is the list of basically all the Perl-based open source products I could find. I used Alexa for ordering them, but that's not the point. The point is to understand the types of products built with Perl and if they are backed by one or more businesses or if they are volunteer based.
-
2012.09.27 in #62
Announcing the Perl Maven Competition
Some other languages already have it. It's time for the Perl developers to show the world they can also build beautiful applications. The planning has started.
-
2012.10.07 in #63
Building DWIM Perl for Linux
This is the first step in my attempt to (re)build the Perl distribution that will contain everything you will ever need to build Perl applications.
-
2012.11.25 in #70
Announcing the Regex Maven for Android
This application (will) help you learn or improve your knowledge of Regular Expression. It has (or will have) a tutorial, a cheat-sheet and a quiz. Currently available for Android, but once it has reasonable content, I am planning to release it to the iPhone as well.
-
2013-05-05 in #93
Interview with Tadeusz Sosnierz
Gabor Szabo's interview with Tadeusz Sosnierz (aka tadzik),the developer of the Perl 6 Pod Parser and Panda, the Perl 6 module installer.
-
2013.01.08 in #77
The license and the repository of Perl modules on CPAN
Calling all the CPAN authors to update the META information of their packages including the license field and the link to the repository where they develop the code. If there is one.
-
2013.01.27 in #80
Core Perl documentation and CPAN module documentation
Gabor Szabo offers a refresher on how to access Perl documentation (both for core stuff and modules).
-
2013.01.31 in #80
Fetching the status of blog entries using grep and cut
So, you left your blog entry directories 'grow organically', and now you want to tame the resulting unholy mess. Gabor Szabo shows us how he fought entropy with perl, grep, cut, and a good vacuum cleaner.
-
2013.02.03 in #80
New edition of the Advanced Perl Maven e-book was published
I've updated and released the edition of the Advanced Perl book. People who already purchased (or who attended my advanced course) can download it free.
-
2013.03.22 in #87
Perl developers and countries
In case you are interested in the distribution of the readers of the Perl Weekly and the Perl Maven site around the world, I published the data from Google Analytics and Bitly.
-
2013.03.27 in #88
YAPC::NA 2013 training classes
There are going to be 7 courses before and after YAPC::NA in Austin, TX. Check out the schedule and buy your tickets.
-
2013.05.16 in #95
Interview with John SJ Anderson (aka genehack)
Gabor Szabo is on an interview roll. This time, it's genehack's turn.
-
2013.05.21 in #96
Perl, Python, Ruby, PHP and HTML5 on Google trends
There are many ways to measure the 'market share' or 'mind share' of a programming language and the dynamics between languages. I tried to see how many people search for the respective terms and what are the trends in relative volume of searches.
-
2013.06.24 in #100
The first 100 weeks of the Perl Weekly
This is the 100th issue of the newsletter.
-
2013.07.12 in #103
There are no Perl events in my country/city...
A couple of days ago I saw one of the bloggers complaining about the above. I could not stop myself from writing this.
-
2013.07.18 in #104
Compiling Perl, Python and Ruby
Comparing the default installation size of the 3 major dynamic programming languages. Perl is the smallest, but Pythons has a lot of batteries included. There are many modules in the standard library of Python, that are missing from from the standard installation of Perl and thus require extra steps to install them from CPAN.
-
2013.08.01 in #106
Three month after domain name change
Once in a while I collect numbers from various sources trying to see how the Perl Maven site does and compare that with other Perl-related sites, and with sites related to PHP, Python and Ruby. It is unfortunate we don't have the visitor count of the major Perl community sites, but at least you might be able to interpolate from these numbers.
-
2013.11.18 in #122
Claiming your CPAN authorship at Google
Are you a CPAN author? Do you think that your module is useful? Even to people who use Google as their search engine? Here is a way you can help Google show your module in a more personal way.
-
2014.01.07 in #133
The Popularity of Perl in 2013
My collection of some numbers. Most interesting are the Google Analytics graphs from blogs.perl.org, MetaCPAN, and search.cpan.org.
-
2014.02.19 in #135
Sponsoring Perl events by running Perl training courses
Perl events need funding. Developers need training. Companies need more knowledgeable developer. Some of us like teaching and visiting places. A win-win situation. So if you are an organizer, please get in touch, but if you are a would be attendee at one of the events, you could also contact the organizers and ask them about courses.
-
2014.03.12 in #138
How did PHP and Python take over such a huge market-share of Perl?
In a nutshell: the 'ease of getting started' and 'batteries included' are two keys in those stories and while there are other issues, without solving these two Perl has no chance in getting in the ring again.
-
2014.04.01 in #141
use diagnostics; or use splain
Gabor Szabo reminds us that Perl can explain itself in more details, if we ask nicely.
-
2014.04.05 in #141
Fixing CPAN links on Stack Overflow
When answering a question on Stack Overflow, one can link to Perl modules in a way that will break once the module gets updated in the future (which makes us all sad), or in a way that will let all future generations enjoy the bestest and latest version of the module forever. Gabor shows us the difference.
-
2014.04.29 in #145
GitTip and the Perl Community
In a nutshell, I think if all the people who benefit from Perl contributed back to the community, the Perl ecosystem could do a lot more. So if you cannot contribute time, maybe you can contribute some money. GitTip is an easy way to do so.
-
2014.05.06 in #146
Thunderclap and the buzz for Perl
Thunderclap allow you to commit to send a specific tweet (or Facebook share) at a certain time in the future. I started a little experiment with it. If you like it, please join the action.
-
2014.05.14 in #147
Building a blog engine using Perl Dancer
Gabor Szabo showcases a nice primer on Dancer, via the making of a blog engine.
-
2014.05.20 in #148
One package perl pm file
While you can put more than one package in one .pm file, Gabor Szabo reminds us that we don't necessary want to do that.
-
2014.06.03 in #150
One year of Perl Maven Pro
Gabor has reasons to celebrate: Maven Pro is now one year old!
-
2014.07.01 in #154
Perl Maven - June 2014
Just my excuses why I have not published a lot of articles in June with links to the articles and screencasts I did publish... ~szabgab
-
2014.07.11 in #155
Perl Training and donation to TPF
Need Perl training, and willing to help TPF at the same time? Gabor Szabo has a proposition for you.
-
2014.08.07 in #159
Catalyst vs Dancer vs Mojolicious on Stack Overflow
I checked the number of posts on Stack Overflow tagged with each one of those: Catalyst: 380, Mojolicious: 213, Dancer: 133. Does this mean anything?
-
2014.08.14 in #160
perlprogramming.org
Gabor Szabo is the owner of the 'perlprogramming.org' domain, but doesn't really have a use for it. So he's asking if anybody is interested in taking over.
-
2014.10.18 in #171
Stats of 7 Perl-related web sites
Two weeks ago I created this small table based on the numbers from Google Analytics. The number of monthly users on search.cpan.org was 429,479. On metacpan.org it was 86,013.
-
2014.10.22 in #170
A clone of search.cpan.org
Gabor Szabo has started an open source clone of search.cpan.org, sco.perlmaven.com, which is built on MetaCPAN's API.
-
2014.11.03 in #172
Shutting down the Perl Community AdServer
It's time to say farewell... Gabor Szabo lets us know that the Perl community adserver is going down.
-
2014.11.17 in #174
Web sites with source code for hacking
Gabor Szabo (SZABGAB) has started curating a list of Perl-based web sites for which the source is available.
-
2014.12.02 in #176
Perl 5 Regex quantifiers
Gabor explains regular expression quantifiers, which specify how many of a given sub-pattern you want to match.
-
2014.12.11 in #177
Migrating (the Perl Maven site) from Dancer 1 to Dancer2
It took several days but finally the Perl Maven site is running on the new Dancer 2 framework. This article describes the issues encountered.
-
2014.12.17 in #178
How to set default values in Perl
Do you know how to give a default value to a scalar variable? What about a hash?
-
2014.12.21 in #178
PSGI the superglue between Perl web application frameworks and web servers
A collection of Perl Maven articles about PSGI, the interface for writing modern web applications in Perl.
-
2014.12.26 in #179
How to grep a file using Perl
Writing a Perl replacement of the Unix grep command does not have much value, unless you do something much better, or if you want to reimplement the Unix commands in Perl. Nevertheless it can be a good exercise, and it can be a learning or teaching aid.
-
2014.12.29 in #179
Installing Rakudo Perl 6
After another long break, I have updated the code behind the Perl 6 Maven site and started to update the tutorial as well. This is the first page showing how to install the newly release Rakudo Star on OSX and Linux.
-
2014.12.29 in #180
Is 2015 going to be the year of Perl 6 ?
I have been on-and-off Perl 6 for quite some time, so after the news about Larry Wall talking about Perl 6 being production ready in 2015 I started to wonder if I should start wrting about Perl 6 again. Judging by the comments on Reddit there are quite a few people who prefer to spew hatered than to be constructive. We'll see.
-
2015.01.01 in #180
Continuous Integration for Perl 6 modules using Travis-CI
Travis-CI does not support Perl 6 yet, but with this binary version of Rakudo Star you can hook up your GitHub repository and get it smoke-tested by Travis-CI.
-
2015.01.01 in #180
The Popularity of Perl in 2014
Some stats about the most frequently visited Perl-related web sites including pageview data from the biggest Perl-related web sites.
-
2015.01.05 in #181
Getting Started with Bailador
-
2015.01.07 in #181
How to get the size of a file in Perl
Using -s is simple, but looks strange for people not yet familiar with it. There are other, more readable ways to fetch the size of a file.
-
2015.01.11 in #181
Timestamp and elapsed time in Perl 6
Perl 6 has two separate functions fetching the time since the epoch and they return different results. As of today they are 35 seconds apart.
-
2015.01.15 in #182
The magic unary plus (+)
-
2015.01.17 in #182
Introduction to Perl 6 using REPL: scalars
Gabor's Perl 6 odyssey continues, demonstrating working with scalars. I can never remember what REPL stands for, so I googled it (again!) for you: Read-Eval-Print-Loop. It's just an interactive shell.
-
2015.01.17 in #182
Business Models for Open Source Content
Gabor looks at some of the most successful sites that have a money-making business based off open content.
-
2015.01.18 in #182
Welcome and Installation
The beginning of an old, and slightly noisy recording of the Perl Maven Video course.
-
2015.01.21 in #183
What is autovivification?
-
2015.01.25 in #183
Avoid (unwanted) bitwise operators
-
2015.02.01 in #185
Code Maven
Yours truly has opened a new playground for himself experimenting with Node.js (JavaScript), Flask (Python), and Ruby. (For now)
-
2015.02.02 in #185
Introduction to Perl 6: arrays (screencast)
-
2015.02.03 in #185
How to create an Excel file with Perl?
-
2015.02.10 in #186
Using the built-in debugger of Perl as REPL
An earlier screencast re-posted on the Perl Maven site.
-
2015.02.13 in #186
SVG - Scalable Vector Graphics with Perl
Some simple examples showing how to use the SVG Perl module to create Vector Graphics. Then, a related article was published on the Code Maven site using JavaScript to create SVG images, and there is even the beginning of an SVG tutorial with exercises.
-
2015.02.17 in #187
Don't keep generated files in version control
Files generated by the Perl toolchain, by the editor, an even by the operating system should usually be excluded from version control system. Here is a list of what should be excluded and how to to that.
-
2015.02.19 in #187
CPAN for older versions of Perl
Some explanation about the CPAN Testers and about cpXXXan.
-
2015.02.26 in #188
Combining SVG and PSGI
How to create Scalable Vector Graphics on the fly and serve it using Plack/PSGI?
-
2015.03 in #191
Sending HTML e-mail using Email::Stuffer
A screencast and article explaining and showing how to send e-mail with Perl.
-
2015.03.04 in #189
Comparing the speed of JSON decoders
Bottom-line: The XS version is 57.42 times faster than the pure Perl version.
-
2015.03.05 in #189
Creating bar graphs using Perl GD::Graph
13 slightly different bar-graphs from the same data series.
-
2015.03.10 in #190
Passing two arrays to a function
Just showing one of the uses of references...
-
2015.03.12 in #190
Moo and required attributes
... and how to convince Moo (or anything else) to give a clear(er) error messages.
-
2015.03.14 in #190
How to download a Perl module from CPAN
Sometimes you might want to download and unzip a whole distribution without even installing it. There are a number of ways to do this.
-
2015.03.22 in #191
Testing sessions by mocking time
How can you test a system that is supposed to time-our after 100 days? Your can't wait a 100 days for that. What about 1 minute? Is that still too much?
-
2015.03.23 in #192
Promoting your Perl workshop or conference?
Gabor has put together a page with some tips for promoting your Perl event.
-
2015.03.25 in #192
Sending Tweets from a Perl script
In this article full of screenshots you'll see how to write a Perl script to send messages via Twitter.
-
2015.03.26 in #192
Getting started - Create skeleton for the SCO clone application
A screencast in which Gabor shows the first step in creating a clone of the search.cpan.org web site using PSGI and MetaCPAN as the back-end.
-
2015.03.31 in #193
Methods, Functions and Subroutines in Perl and what is $self ?
What is the difference between a method and a function in Perl? What is in $self ? And what is $me ?
-
2015.04.02 in #193
Add some acceptance tests using search.cpan.org
A screencast from the series about the search.cpan.org cloning project.
-
2015.04.07 in #194
Checking the whois record of many domains
This article uses Net::Whois::Raw for the task.
-
2015.04.15 in #195
Fetching several web pages in parallel using AnyEvent
How to reduce the download time from 10 minutes to 1 minute?
-
2015.04.17 in #195
Create skeleton PSGI application for the SCO project
Trying to create a search.cpan.org clone using PSGI as front-end and MetaCPAN as back-end.
-
2015.04.21 in #196
Using fork to spread load to multiple cores
-
2015.04.27 in #197
Getting started with MongoDB using Perl - insert and simple update
-
2015.05.01 in #197
Writing Command line scripts and accepting command line parameters using Moo
MooX::Options is an integration of Moo, the minimal OOP framework for Perl and the Getopt::Long, the standard command line processing module. Reddit
-
2015.05.15 in #199
Indexing e-mails in an mbox
-
2015.05.17 in #199
Which CPAN distributions include jquery.js ?
Gabor's continuing his experimentation with an alternative interface for searching CPAN. He's added an interface that lets you find all distributions that contain a given filename.
-
2015.05.18 in #200
Updating MongoDB using Perl
The second part of the mini-series creating a command-line phonebook using Moo, MooX::Options, and MongoDB.
-
2015.05.19 in #200
Routing with PSGI
There are several modules that provide URL routing service, but if you'd like to see how they might work behind the scene, this article explains it. Oh and in case you are not familiar with the jargon, 'URL routing' means mapping URLs on your server to function calls that will serve the requested page.
-
2015.05.21 in #200
Get CPANstats from MetaCPAN using cron
The 12th episode from the search.cpan.org cloning project
-
2015.05.25 in #201
BEGIN block - running code during compilation
This might be natural to the seasoned Perl developer but the BEGIN block is powerful.
-
2015.05.26 in #201
Putting the email in MongoDB - part 1
Part of the mailbox indexing project.
-
2015.05.27 in #201
JSON in Perl
Which module to use to parse JSON in Perl?
-
2015.05.27 in #201
END block - running code after the application has ended
-
2015.06 in #205
Concurrent Requests and measuring performance with ApacheBench
-
2015.06.03 in #202
Bounty for fixing CPAN modules
Gabor pointed out bountysource, a service where you can provide bounties for certain bugs. He wonders if we could use this to get bugs fixed in key distributions?
-
2015.06.24 in #205
YAPC and Perl Workshop participant numbers
If you ever wondered how many people attend the different workshops and YAPCs, Gabor has compiled a partial list of those events, from 2013 onwards.
-
2015.06.25 in #205
LWP::UserAgent and Basic Authentication
-
2015.06.29 in #206
PSGI and AJAX for single-page applications
PSGI is the superglue connecting Perl to web servers. It is rather low level, but there are cases when you need to use that instead of one of the higher level frameworks.
-
2015.07.05 in #206
Beginner Perl Maven video course
Over 100 episodes have been uploaded to YouTube and are also available for free download.
-
2015.07.07 in #207
Don't use $a and $b outside of sort, not even for examples
-
2015.07.14 in #208
Data structure design for fast lookup
People talk a lot about code optimization, some even claim that using single quotes is faster than double quotes, but one of the things that can really matter is the data-structures we use to represent our data. In this article you'll see one example for consideration.
-
2015.07.17 in #208
Beginner Perl Maven video course
The slidecast Perl tutorial has passed 130 freely available episodes. Available on YouTube or downloadable from the Perl Maven site.
-
2015.07.17 in #209
Beginner Perl Maven video course
The slidecast Perl tutorial has passed 148 freely available episodes. Available on YouTube or downloadable from the Perl Maven site.
-
2015.07.17 in #210
Beginner Perl Maven video course
The slidecast Perl tutorial has passed 157 freely available episodes. Available on YouTube or downloadable from the Perl Maven site.
-
2015.07.17 in #211
Beginner Perl Maven video course
The slidecast Perl tutorial has passed 177 freely available episodes. Available on YouTube or downloadable from the Perl Maven site.
-
2015.07.20 in #208
Web development using Perl 6
I am preparing a talk with the same title for YAPC::EU. On this page I am trying to collect the existing Perl 6-based web applications. If you find one in your pocket, please let me know!
-
2015.07.23 in #209
Getting started with AngularJS
In preparation for the front-end development course at YAPC::EU, Gabor started to publish articles on using AngularJS.
-
2015.07.24 in #209
YAPC::EU - over 200 participants
More than 200 people have now signed up to attend YAPC::EU this year, passing two previous conferences. And there's still a month to go. Gabor points out there are some interesting talks, if you're still thinking about it.
-
2015.07.30 in #210
Echo text with Bailador using Template::Mojo
-
2015.08.07 in #211
TODO in AngularJS
The rite of passage entering the land of AngularJS.
-
2015.08.07 in #212
TODO in AngularJS
The rite of passage entering the land of AngularJS.
-
2015.08.13 in #212
Reporting diskspace usage on a mail server (screencast)
-
2015.08.15 in #212
Disk usage: du in Perl (screencast)
-
2015.08.18 in #213
Sites with public API with CORS - Cross-Origin Resource Sharing enabled
-
2015.08.19 in #213
Perl 5 Regex Cheat sheet
Quick look-up for the major regex features of Perl 5 with links to detailed explanation and examples.
-
2015.08.20 in #213
Reading Excel file using Perl
Using Spreadsheet::ParseExcel::Simple and Spreadsheet::ParseExcel, but actually recommending Spreadsheet::Read
-
2015.08.24 in #214
Vagrant Perl Development Environment (VirtualBox)
-
2015.08.24 in #214
AngularJS Tutorial
-
2015.09 in #218
POD - modules processing Plain Old Documentation format
Listing all the modules that handle POD.
-
2015.09.07 in #216
Data Serialization in Perl
A collection of pointers to Data::Dumper, Storable, FreezeThaw, YAML, JSON, XML, Sereal, and Data::Serializer
-
2015.09.14 in #216
Becoming a co-maintainer of a CPAN-module - the first steps
A series of articles showing lots of techniques for refactoring Perl code using the excuse of becomming a co-maintainer of Pod::Tree.
-
2015.09.16 in #217
Perl Dancer book available
All the Perl Maven articles related to Perl Dancer, now bundled in one e-book available. There is a button at the bottom of the page where you can purchase the book.
-
2015.09.16 in #218
Perl Dancer book available
All the Perl Maven articles related to Perl Dancer, now available bundled in one e-book in MOBI format for Kindle.
-
2015.09.16 in #219
Perl Dancer book available
All the Perl Maven articles related to Perl Dancer, now available bundled in one e-book in MOBI format for Kindle.
-
2015.09.16 in #220
Perl Dancer book available
All the Perl Maven articles related to Perl Dancer, now available bundled in one e-book in MOBI format for Kindle.
-
2015.09.16 in #221
Perl Dancer book available
All the Perl Maven articles related to Perl Dancer, now available bundled in one e-book in MOBI format for Kindle.
-
2015.09.16 in #222
Perl Dancer book available
All the Perl Maven articles related to Perl Dancer, now available bundled in one e-book in MOBI format for Kindle.
-
2015.09.16 in #223
Perl Dancer book available
All the Perl Maven articles related to Perl Dancer, now available bundled in one e-book in MOBI format for Kindle.
-
2015.09.16 in #225
Perl Dancer book available
All the Perl Maven articles related to Perl Dancer, now available bundled in one e-book in MOBI format for Kindle.
-
2015.09.17 in #217
Travis-CI and latest version of Perl 5
Gabor asked how you can get Travis CI to test with Perl 5.22 and blead. One of the comments directed him to HAARG's Travis helpers, which is the reason why I included this post. Let Graham (HAARG) know if you'd like to see a "latest stable perl" capability in the helpers.
-
2015.09.19 in #217
Enable Travis-CI for Continous Integration
A simple Travis-CI configuration file.
-
2015.09.20 in #217
DBI - Database Independent Interface for Perl
The beginning of a page about DBI. Now including all the major DBD modules.
-
2015.09.21 in #218
XML and Perl
A collection of Perl modules dealing with XML along with a series of articles.
-
2015.09.24 in #218
http://perlmaven.com/logging-with-log4perl-the-easy-way
Screencast and article
-
2015.09.30 in #219
Multiple command line counters with plain TSV text file back-end
-
2015.10.01 in #219
YAPC::EU 2015 Granada - hiking to Pico del Veleta in Sierra Nevada
Gabor's report on his trip to Granada. His depiction of the local tapas alone makes me gnash my teeth and bemoans my absensce at the European YAPC.
-
2015.10.02 in #219
Vagrant Perl Development Environment v1.1.0 released
Not only it's a Perl Development Environment in a box, but Perl 6's rakudo is also included. Nifty!
-
2015.10.05 in #220
What is Expect?
Expect is tool to automate interaction with an application providing a CLI (Command Line Interface). Do you need an example?
-
2015.10.06 in #220
Contributing to the Open Source Perl Ecosystem
A collection of tasks, some are really low hanging fruits, to contribute to Perl 5, Perl 6, CPAN, etc.
-
2015.10.07 in #220
AUTOLOAD - handling Undefined subroutines
How to avoid ' Undefined subroutine ... called,' errors.
-
2015.10.10 in #220
Configure Travis-CI for Perl 6 modules
Gabor noticed that most Perl 6 modules on github don't have a Travis config file, so suggests that a PR might be a nice easy way to contribute to Perl 6.
-
2015.10.13 in #221
The future of YAPC::EU and YEF
-
2015.10.14 in #222
Programming Exercises
11 beginner level programming exercises with solutions in Perl.
-
2015.10.15 in #221
Profiling and 100 times speed improvement
In the last couple of months the Perl Maven site became quite slow. Running the profiler quickly pointed at the overuse of YAML. The easy solution was to replace it with YAML::XS.
-
2015.10.18 in #221
Introducing test automation with Test::Simple
Screencast, the first in a series about Test Automation using Perl.
-
2015.10.18 in #221
Exercise: Number guessing game
Started to publish a bunch of exercises for beginners. Some of the exercises already have solutions in a number of programming languages.
-
2015.10.19 in #222
Inconsistencies in YAML implementations
YAML seems to be more forgiving than YAML::XS, YAML::Syck, or YAML::Tiny.
-
2015.10.23 in #222
Reverse Polish Calculator in Perl using a stack
A 'standard' example for using a stack.
-
2015.11 in #226
Supporting the Perl Weekly?
Would you like to support the Perl Weekly? Just $1 an issue from each one of the readers would be fine. Is this newsletter worth $1 an issue for you? You can set up a weekly donation via Gratipay.
-
2015.11 in #226
AngularJS: filter table created with ng-repeat
-
2015.11.01 in #223
Command line counter with JSON backend
Another entry in the series of counter examples.
-
2015.11.07 in #224
Common DateTime operations
DateTime is huge, but as with most of other things we only use 10-20% of its capabilities. This article covers the most important aspects of the DateTime module.
-
2015.11.11 in #225
Test plan and test descriptions
What is the 'plan' in the tests written in Perl?
-
2015.11.15 in #225
Single Page Application with Perl Dancer and AngularJS
Dancer now allows you to create your own skeleton for new projects. This is a skeleton that makes it easy to create a Single-Page Application. One where your client-side applications talks to the web serve using AJAX.
-
2015.11.18 in #226
OOP - Object Oriented Perl
An introduction to the classical, hash-based OOP system of Perl.
-
2015.11.25 in #227
Generate random numbers in Perl with the rand() function
Gabor shows how to generate random numbers in Perl 5, using the rand()
built-in.
-
2015.11.27 in #227
20 most popular Perl modules
Gabor presents the most searched-for modules on MetaCPAN and search.cpan.org, though the figures are slightly dubious, since App::Netdisco comes out top on MetaCPAN!
-
2015.11.30 in #227
Supporting the Perl Weekly?
Would you like to support the Perl Weekly? A Perl Job ad in the Perl Weekly, like the one above, will reach almost 6000 Perl developers. People like you, who are enthusiastic about Perl and not just use it as an add-on tool.
-
2015.11.30 in #228
Supporting the Perl Weekly?
Would you like to support the Perl Weekly? A Perl Job ad in the Perl Weekly, like the one above, will reach almost 6000 Perl developers. People like you, who are enthusiastic about Perl and not just use it as an add-on tool.
-
2015.11.30 in #229
Supporting the Perl Weekly?
Would you like to support the Perl Weekly? A Perl Job ad in the Perl Weekly, like the one above, will reach almost 6000 Perl developers. People like you, who are enthusiastic about Perl and not just use it as an add-on tool.
-
2015.12.02 in #228
Perl::Critic example - lint for Perl
-
2015.12.09 in #229
Array references in Perl
A tutorial on using array references in Perl 5.
-
2015.12.11 in #229
Counter with Dancer sessions
A short tuturial on creating a counter with the Dancer web framework.
-
2015.12.14 in #230
use Path::Tiny to read and write file
-
2015.12.17 in #230
shift in Perl
This areticle was published in response to a question on YouTube.
-
2016.01.01 in #232
The Popularity of Perl in 2015
Thought the title should be probably 'the popularity of Perl-related sites' based on 3 sources: Perl Weekly subscribers; Alexa, and Google Analytics of search.cpan.org, blogs.perl.org, MetaCPAN, and Perl Maven.
-
2016.01.02 in #232
Email validation using Regular Expression in Perl
While in a real application you'd probably use a module to validate the format of e-mail addresses, parsing them manually is actually a great way to teach regexes.
-
2016.01.03 in #232
Earn money with your Perl articles
Get in touch by e-mail for more details.
-
2016.01.09 in #233
How to read an Excel file in Perl
-
2016.01.19 in #235
Operations on value-pairs in Perl
List::Util has a couple of nice, and slightly surprising functions. For example: pairs, unpairs, pairkeys, pairvalues, pairgrep, pairfirst, and pairmap. Most of them act on pairs of values found in a list or array.
-
2016.01.22 in #239
Becoming a co-maintainer of a CPAN-module
Three new episodes in the series were re-published: Move packages to their own files, Finish Perl::Critic cleanup, set up Test::Perl::Critic, Eliminating indirect method calls. Enjoy, and support the Perl Maven by subscribing to the Perl Maven Pro
-
2016.01.23 in #235
Understanding regular expressions
-
2016.01.29 in #236
The easiest way to find the highest hash value without looping through all of them (max)
-
2016.01.31 in #236
How to provide STDIN to an external executable?
-
2016.02.01 in #237
Refactor the tests to use Test::More
As part of becomming a co-maintainer of Pod::Tree I have written a series of articles describing the process and published them for the Perl Maven Pro subscribers. It is time to re-publish them to the general public.
-
2016.02.05 in #237
Check test coverage - add compile tests
-
2016.02.10 in #238
Run Perl::Tidy to beautify the code
Gabor shows how you can use Perl::Tidy to ensure your code always followings your layout preferences, even if some of it was written by someone else.
-
2016.02.12 in #238
Use Path::Tiny instead of home-made ReadFile and WriteFile
When refactoring tests for a module, Gabor noticed functions for reading and writing files. He shows how you can use Path::Tiny for this, and also mentions File::Slurper, which is my go-to module for those tasks these days.
-
2016.02.18 in #239
An extra space can ruin your day
Space matters in Perl too
-
2016.02.23 in #240
Fixing the release. Twice in a row! (Pod::Tree 1.22 and 1.23)
Part of the series how to become a co-maintainer of a CPAN-module.
-
2016.02.26 in #240
Fix Perl::Critic test failures reported by CPAN Testers
What do you when you get failure reports from the CPAN Testers indicating Perl::Critic issues even though everything was fine on your machine.
-
2016.02.27 in #240
Ajax and Dancer 2
The beginning of a new series building a web application using Dancer as the back-end providing a JSON-based API.
-
2016.03.04 in #241
Perl::Critic exclude some policies - fix others
Gabor walks through running Perl::Critic at a certain level, while excluding some policies that you might not agree with, or be ready to deal with yet.
-
2016.03.12 in #242
Simple router with AngularJS
Not Perl, but it was originally published on the Perl Maven site and if you are interested in the full course, it will be given at YAPC::NA.
-
2016.03.14 in #243
Stand-alone Ajax client and the Access-Control-Allow-Origin issue
Part of the Dancer series.
-
2016.03.17 in #243
Logging in modules with Log4perl the easy way
Screencast and article.
-
2016.03.21 in #244
What is the status of the current test script?
Screencast from the Test Automation series
-
2016.03.22 in #244
Reverse Echo with Ajax and Dancer 2
Article from the Dancer 2 series
-
2016.03.25 in #244
Distribution directory layout
A screencast from the Advanced Perl Maven course.
-
2016.03.29 in #245
Separating test data from test code
A screencast and article showing how, once you have a stable test, you can move the test data to an external file and make it accessible to people who are 'domain experts' but not necessarily Perl programmers.
-
2016.03.30 in #245
How to return nothing (or undef) from a function in Perl?
The Perl Best Practices recommends to call return without any parameter instead of returning undef explictly. That's not always good though.
-
2016.04.03 in #245
Memoization - speeding up function calls by caching of return values
Memoization, which is basically a fancy name for caching, is not a new idea, but one that can be used in certain situations to speed up function calls.
-
2016.04.07 in #246
Prove, the harness
A tutorial on use of the prove
utility to run your tests during development.
-
2016.04.11 in #247
Uploading files using Dancer
Dancer makes it quite easy to upload images and files to the server.
-
2016.04.16 in #247
Moving over to Test::More
A screencast from the Test Automation with Perl series.
-
2016.04.20 in #248
XML::Writer examples
-
2016.04.21 in #248
Test diagnostic messages using diag, note, and explain
-
2016.04.26 in #249
Refactoring Dancer 2 app, using before hook
-
2016.05.05 in #250
Silencing the noisy Dancer tests
-
2016.05.12 in #251
Prompt, read from STDIN, read from the keyboard in Perl
Part of the Perl tutorial.
-
2016.05.13 in #251
Why is Git better than Subversion for Open Source Projects
With a background story about Padre, the Perl IDE.
-
2016.05.15 in #251
YouTube Channel at 1,000 subscribers
Gabor's YouTube viewership is now in the four digits.
-
2016.05.18 in #252
Add and retrieve items - MongoDB, Dancer and Testing!
This screencast is part of the Dancer series.
-
2016.05.18 in #252
Almost infinite recursive template in AngularJS for representing tree structures
-
2016.05.21 in #252
TODO - testing a bug or a future feature
Gabor shows how you can mark a test as TODO, so it won't stop your distribution installing, but it lets people know that some work remains.
-
2016.05.27 in #253
Using 'like' to test without exact values
Screencast and article, part of the Test Automation using Perl series.
-
2016.05.28 in #253
CSV - Comma Separated Values and Perl
I needed a URL I can remember with a snippet of code I can copy and paste when I need to read a CSV file.
-
2016.06 in #260
Technology, Quality Management, Short Stories, History, and other Podcasts
Just a list of recommended podcasts and how Gabor mixes those with outdoors activity and driving.
-
2016.06.01 in #254
Private Member Data shouldn't be accessed directly - encapsulation violation
Another useful rule that did not make into the core of Perl::Critic.
-
2016.06.03 in #254
Use of uninitialized value $got in pattern match (m//) at Test/Deep/Regexp.pm line 57.
undef in a Test::Deep regex
-
2016.06.03 in #254
Why am I blogging?
Blogging, freefall flaming sword juggling, deep-sea abstract painting. Why some people feel compelled to do those things?
-
2016.06.06 in #255
Testing timeout with cmp_ok
It is easy to check equality using the 'is' function of Test::More, but how can you check if a number falls between two values? (screencast+article)
-
2016.06.11 in #255
Set minimum version number in every Perl file
Use the Compatibility::PerlMinimumVersionAndWhy policy of Perl::Critic
-
2016.06.15 in #256
Three-argument form of open used and it is not available until perl 5.6
Hopefully we all know now why we should use the three argument version of open()
. But if you do, you really should include use 5.006;
in your code.
-
2016.07.02 in #258
Add and retrieve elements using jQuery + Ajax
Pert of the Dancer2 series building an Ajax-enabled application, this article shows the client-side JavaScript code.
-
2016.07.12 in #260
Speed up calculation by running in parallel
Use fork and Parallel::ForkManager to spread load to multiple CPUs.
-
2016.07.18 in #261
Gabor's YAPC::NA report
Gabor's notes from YAPC::NA.
-
2016.07.23 in #261
Comparing complex data-structures using is_deeply
How to compare complex data structures in your test cases, using the is_deeply
function from Test::More.
-
2016.07.28 in #262
Deleting item using Ajax request with DELETE and OPTIONS
An episode in the Perl Dancer series that was first published a year ago for the Perl Maven Pro subscribers.
-
2016.08.06 in #263
Is this IP in the given subnet?
A very nice article & video explaining the usage of Net::Subnet & its pitfalls
-
2016.08.15 in #264
Core Perl OOP: Constructor
Screencast and article explaining how to create an object using 'bless'.
-
2016.08.15 in #265
Core Perl OOP: attributes, getter - setter
Screencast explaining getter-setter in core Perl OOP & Moose.
-
2016.08.16 in #265
Analyzing web application usage
Gabor asked how do you analyze your web application usage, if you have anything to say then please comment on the reddit thread.
-
2016.08.22 in #266
What should setters return? (Examples with core Perl OOP)
Should it return undef? The newly assigned value? The previous value? The object itself?
-
2016.08.31 in #267
Forget your plan, just call done_testing
Most Perl 5 testsuites start off by stating how many tests are expected to run; Gabor shows that you don't have to do this, and sometimes that's the easiest way to go.
-
2016.09.07 in #268
Multiple expected values - testing dice
-
2016.09.09 in #268
Replace manual HTML generation by the use of Handlebars
-
2016.09.12 in #269
Implementing 'is_any' to test multiple expected values
In continuation with his previous post, Gabor explains how to implement is_any function to test multiple expected values.
-
2016.09.17 in #269
Add a date stamp to the items in the database
-
2016.09.23 in #270
Convert list to table and add jQuery tablesorting with Date column
Part of the Perl Dancer series.
-
2016.09.25 in #270
Creating a testing module
Part of the test automation with Perl series. (screencast)
-
2016.09.28 in #271
Basic Authentication with LWP::UserAgent and HTTP::Request::Common
-
2016.09.30 in #271
Test::Builder object explained
-
2016.10.04 in #272
Keep data in client and fetch only changes
Front-end code-improvement for the Dancer Ajax project.
-
2016.10.07 in #272
Organizing a test script with subtests
subtest make it easier to keep your plan intact. (screencast)
-
2016.10.11 in #273
Improve your chances of survival at Job Interviews and Public Speaking
Some tips on how to prepare yourself for speaking.
-
2016.10.14 in #273
Jan Henning Thorsen and Marcus Ramberg about Convos, the web-based IRC client
Convos is built on Mojolicious. You can easily set up an in-house web-based chat system, without people even knowing they use the in-house IRC behind.
-
2016.10.15 in #273
Test for expected warnings
Gabor shows how you can use Test::Warn to test your module for warnings you expect it to emit in certain situations.
-
2016.10.20 in #274
Missing and outdated CPAN modules in Ubuntu (Debian)
Gabor pointed out that some CPAN modules are missing/outdated in Ubuntu. Reddit thread tells us that there are more. May be lend a hand to Debian Perl group
-
2016.10.21 in #274
Moose constructor
-
2016.10.24 in #275
Open Source Conferences
A list of upcoming Open Source related conferences. Many of them still with open call for papers. The source is in GitHub.
-
2016.10.29 in #275
Moose: Testing the constructor
Screencast
-
2016.11.11 in #277
Moose: testing the setter and getter
-
2016.11.11 in #278
Moose type constraints
-
2016.11.20 in #278
Perl Blaster - get selected videos in your inbox
If you are overwhelmed by the number of online talks, then sign up for Gabor's newsletter to get a refined list of talks.
-
2016.11.23 in #279
Moose testing type constraint
-
2016.12.09 in #281
Classes as constraints in Moose
-
2016.12.19 in #282
Creating subtypes for Moose
Another episode from the old Moose series.
-
2016.12.19 in #283
What is @INC in Perl?
-
2016.12.27 in #284
Moose: coerce value to a subtype
Gabor introduces type coercion in Moose.
-
2017.01.03 in #285
Perl 4 libraries
-
2017.01.06 in #285
The problem with Perl 4 style libraries
-
2017.01.11 in #287
Namespaces and packages in Perl
-
2017.01.14 in #287
Modules in Perl
-
2017.01.15 in #287
Perl events calendar
You can find more than 200 conferences on the Code And Talk site. 3 of them are Perl-specific and one of them has a Perl track.
-
2017.01.22 in #287
How does require find the module to be loaded?
-
2017.01.27 in #288
What is the difference between require and use in Perl? What does import do?
(video)
-
2017.01.27 in #289
Exporting and importing functions easily
(video)
-
2017.02.17 in #291
Restrict the import by listing the functions to be imported
Gabor shows how to import just the functions you're going to use, when use
'ing a module.
-
2017.02.21 in #292
Import on demand
Anotother entry published from the the Advanced Perl videos series that was earlier only available to paying members of the Perl Maven site.
-
2017.02.24 in #292
Always use warnings in your Perl code!
In almost every place where Perl is written by people who are not connected to the Open Source Perl community, they still need to be convinced of the advantages of 'use warnings'. Here you can find a number of examples of what could go wrong if you did not have 'use warnings' in your code.
-
2017.02.26 in #292
Testing my tests
This is a question: Is there some tool for Perl that would randomly change the AUT and run the tests effectively trying to figure out if the tests would catch those changes?
-
2017.03.01 in #293
Modules - Behind the scenes
Gabor has a look at some of the core modules that are shipped with Perl itself.
-
2017.03.04 in #293
Tools to package Perl scripts, modules, and applications
Gabor goes through some of the tools you can use to package your code, for CPAN, or not.
-
2017.03.09 in #294
Tools to package Perl scripts, modules, and applications
Part of my effort to publish the Perl Advanced videos I recorded a couple of years ago, here are two: Makefile.PL of ExtUtils::MakeMaker and Makefile.PL of Module::Install
-
2017.03.18 in #295
Current working directory in Perl (cwd, pwd)
Gabor introduces the Cwd module, and shows the differences between the cwd()
and getcwd()
functions.
-
2017.03.21 in #296
MANIFEST and MANIFEST.SKIP
Another episode (re)published from the Advanced Perl series that was part of the Perl Maven Pro.
-
2017.03.25 in #296
Perl related crowdfunding on Kickstarter and ?
Crowdfounding is not exactly a grant, but can be a good way to partially finance some work.
-
2017.03.25 in #296
Getting started with Rakudo Perl 6 in a Docker container
Just saying Hello World with Perl 6 using the official Docker image.
-
2017.03.28 in #297
Packaging a Perl script and a Perl module
-
2017.03.29 in #297
Encrypting Passwords in Perl 6 using crypt
Not a recommendation to use crypt, just a description of an algorithm.
-
2017.04.02 in #297
Traffic origins of search.cpan.org
-
2017.04.05 in #298
Packaging with Build.PL
Another old video was republished.
-
2017.04.07 in #298
Encrypting Passwords in Perl 6 using crypt and SHA-512
Still not the perfect solution for encrypting passwords, but better than the previous one.
-
2017.04.08 in #298
A test file in Perl
Part of the advanced Perl series.
-
2017.04.14 in #299
Exception handling in Perl: How to deal with fatal errors in external modules
-
2017.04.16 in #299
Benchmarking crypt with SHA-512 in Perl 6
As Crypt::Bcrypt is still not installable, making the SHA-512 slow is the best alternative we have.
-
2017.04.19 in #300
Core Perl OOP: Constructor arguments
-
2017.04.19 in #300
No Silver Bullet podcast
The first episode of the new podcast by Gabor: How do other companies create high-quality sotware?
-
2017.05.01 in #301
Blog engine in Perl 6
Yours truly is looking for feedback for the blog engine plan. Both for the technical requirements and for the way to conduct a crowd-funding campaign.
-
2017.05.02 in #302
Generate Random Text with Perl using Text::Lorem
Just an example.
-
2017.05.13 in #303
Serving static site using Plack and PSGI
A simple example using Plack::App::File and Plack::Middleware::DirIndex
-
2017.05.21 in #304
Web Application Development in Perl 6
Crowd funding for a book about Web Application Development in Perl 6
-
2017.05.29 in #305
Crowdfunding the Bailador book
Gabor continues his crowdfunding campaign to write a book on Web Application Development in Perl 6. He has posted an article on launching the campaign and the first week of the campaign. Bailador now has a web site.
-
2017.05.31 in #306
Book: Web development in Perl 6
This is the crowdfunding campaign of my book about Bailador, the light-weight route-based web application development framework of Perl 6.
-
2017.06. in #308
Batteries included - the biggest impact on programming language popularity
-
2017.06.06 in #307
Blog engine in Perl 6
Gabor is working on a blogging engine in Perl 6, as one of the examples for his book on web application development in Perl 6.
-
2017.06.18 in #308
Bailador Plans
Read about some plans with the Bailador Project and remember, you have only 3 days left to support the book.
-
2017.06.22 in #309
Extending the Bailador crowdfunding campaign by another month
Let's give more people and also companies the opportunity to support the Bailador book.
-
2017.06.24 in #309
Testing PSGI based web applications using Plack::Test
-
2017.07 in #314
Echo with Plack in CGI mode
-
2017.07.07 in #383
Hello World with plain CGI
-
2017.07.12 in #312
Echo with plain CGI
Removing CGI.pm from core Perl did not stop people from wanting to use it. It did not make it less useful, just harder to use. People still ask for help getting started with CGI.
-
2017.07.13 in #312
Why am I writing the Bailador Book?
-
2017.07.15 in #312
LWP::Simple - a simple web client in Perl 6
-
2017.07.30 in #315
Continuous Integration for Perl 6 modules
The modules list of Perl 6 now show both the Travis-CI and Appveyor status of the modules where those are enabled. For the modules that the Continuous Integration is not running yet you can find a link explaining how to set that up. 2 Days ago Appveyor stood at 40. Today at 59. It is now your turn to help the Perl 6 modules run on Windows. UPDATE: The site was updated. It looks much better now, but I am not sure if you can easily find the modules that need help with Appveyor or Travis-CI configuration.
-
2017.08 in #318
How to forbid certain Perl modules from use?
Using Perl::Critic you can create a list of 'forbidden modules' and even recommend alternatives. This can be very useful in a large team to direct people to the modules recommended by you.
-
2017.08.27 in #318
Why to have Public Version Control System for Open Source Projects?
-
2017.09 in #321
Perl Dancer eBook Crowdfunding campaign
Check out the book-cover or go straight to the crowdfundig page
-
2017.09 in #323
Bumping version numbers in all the modules at once
-
2017.09.02 in #319
Developer Weekly Newsletter
Gabor is starting another weekly newsletter: this one is going to provide a curated selection of blog posts published by major tech companies. You can sign up at developer-weekly.com.
-
2017.09.05 in #320
How to get a slice of a hash?
-
2017.09.12 in #321
Bailador 0.0.12 released and the Bailador Book is progressing
Just updating you on the progress.
-
2017.09.12 in #321
Possible precedence issue with control flow operator
A relatively new warning in Perl that can help you catch a subtle bug in the code.
-
2017.09.26 in #323
Perl Dancer eBook: Angular, React, or Vue?
The Perl Dancer eBook was founded and it will be written using jQuery. If you'd like to still support it go ahead. If we reach $7,000 you will get another front-end in the book. Angular, React, or Vue.
-
2017.10.03 in #324
How to promote a new web site - how to get visitors
-
2017.10.10 in #325
Fixing test failure on Windows - Properly quoting regexes - Accepting GitHub pull request
-
2017.10.22 in #326
Perl Infrastructure
What kind of infrastructure is behind the Perl-related web sites? Who are the contact people?
-
2017.10.30 in #327
Split retaining the separator or parts of it in Perl
-
2017.11.05 in #328
String eval
-
2017.11.12 in #329
Testing a tree data structure in Perl
-
2017.11.13 in #330
Microservices
Recently I was asked to explain what Microservices are. BTW Did you know about Cro the framework for Microservices in Perl 6?
-
2017.11.16 in #330
Show number of files in a directory tree using Shell
-
2017.11.19 in #330
Search for hash in an array of hashes
How can you find a hash with a specific key-value pair in an array of hashes? What if you are expecting to find more than one matching items?
-
2017.11.21 in #331
Show number of files in several directory trees using Shell
-
2017.11.22 in #331
Have exceeded the maximum number of attempts (1000) to open temp file/dir
A not too common, but rather annoying error.
-
2017.11.29 in #332
Removal of the current directory (".") from @INC in Perl 5.26 and Travis-CI
-
2017.12.04 in #332
50% discount on the Bailador Book
-
2017.12.07 in #333
Open file to read and write in Perl, oh and lock it too
(this was actually added by Upasana herself :)
-
2017.12.07 in #333
Patreon for Gabor
This was really added by Gabor: Patreon allows you to support a great author, a creator, or yours truly with a monthly patronage of 1, 2, 3, 5, 8... USD. My first goal is to get started with this. With your help I hope to reach it very soon so I can go on to the next goal that will be updating the whole Perl Maven tutorial.
-
2017.12.12 in #334
Modulino: both script and module in Perl
Sometimes you'd want to allow people to use the functions from your script and sometime you'd like to run your module as if it was a script. Based on the comments on the article and on Reddit, not everybody liked, but I learned that the word was actually coined by brian d foy. I also got some ideas for more use-cases.
-
2017.12.13 in #334
Patreon and Perl
Patreon allows you to support people with a small monthly payment.
-
2017.12.16 in #334
Bailador + Dancer SPA + Collab dev bundle
As a Christmas special I am also offering my 3 books in a bundle at a very deep discount.
-
2017.12.20 in #335
Self testing Perl modules using the Modulino concept
-
2017.12.24 in #335
Bailador + Dancer SPA + Collab dev = 3 eBooks for the price of one
Just this week.
-
2018.01 in #341
Sorted hash in Perl using Tie::IxHash
-
2018.01. in #339
Test Automation Using Perl
-
2018.01.02 in #337
each - iterate over Perl hash elements pair-by-pair
-
2018.01.05 in #337
Perl Programming
I have moved my Perl Programming slide to a new URL.
-
2018.01.08 in #337
New Year's resolutions are the Waterfall methodology
-
2018.01.10 in #338
Testing Perl CGI application
Unfortunately CGI.pm was removed from Perl, but still many sites use it. This is a simple way to test simple CGI-based applications.
-
2018.01.21 in #339
Getting Started with Perl::Critic (the linter for Perl)
Perl::Critic can help you potential bugs or just make your code more maintainable.
-
2018.01.23 in #340
Getting started with Perl on Docker
Docker allows you to create a Linux environment standardized for your project. It makes it super easy to ensure the same environment across all the developers and even in production.
-
2018.01.26 in #340
How to splice a CSV file in Perl (filter columns of CSV file)
-
2018.01.28 in #340
Would you like to be a Patr[e]on?
Some people have a single source of income, but then most of what they create belongs to that company. I'd prefer to have a 1,000 patrons who each give a few dollars a month and make most of my work available to everyone. Via Patreon or via PayPal
-
2018.02.02 in #345
Start writing the Markua parser in Perl
Markua is a Makrdown-inspired language for writing books created by LeanPub. In this article series I am going to explain how I build a Markua Parser in Perl. I need it to make it easier to generate ebooks from the content of the Perl Maven web site.
-
2018.02.06 in #342
How to change directory (chdir, cd) in Perl?
-
2018.02.11 in #342
DevOps
A collection of DevOps related topics and the technologies related to them.
-
2018.02.16 in #343
The Popularity of Perl in 2018 February
The numbers don't look very good though according to David Farrell the perl.com visitors numbers are exploding. I also hope the updating of the Perl Maven Tutorial will have a positive impact.
-
2018.02.19 in #343
Crowd funding: Updating the Perl Maven Tutorial
I am starting a crowd funding campaign that will allow me to allocate some time to update the Perl Maven Tutorial. Your support would be appreciated.
-
2018.02.20 in #345
Why does this code not work? (split, array slice)
A problematic piece of code and a solution. If you would like to see it.
-
2018.02.26 in #344
Updating the free Perl Maven tutorial
Last week I launched a new crowdfunding campaign to provide me with some time and encouragement to update the Perl Maven Tutorial. It had a very good start, but I'll need a lot more people to support it. If for nothing else, to see that you think it is valuable to you or to the Perl community in general. ~ Gabor
-
2018.03.04 in #345
Ansible
The beginning of a series on using Ansible for Configuration Management
-
2018.03.05 in #346
Travis-CI for the Markua Parser project
Markua is a Markdown-inspired language for writing books created and used by LeanPub. The Markua parser in Perl 5 was started by yours truly to make it easier to use Markua for writing the articles on the Perl Maven site and then to convert them to eBooks. This article shows how to set up Continuous Integration on Travis-CI. The whole project was started to aid the work once the Perl Tutorial Campaign is successful.
-
2018.03.06 in #346
Help improving the Perl Maven Tutorial!
You can help the Perl Maven Tutorial and through that many beginner Perl developer either with the content or with the crowdfunding.
-
2018.03.08 in #346
Add test coverage reporting with Coveralls to Markua Parser in Perl
Another step in the Markua parser project to help the Perl Tutorial crowdfunding.
-
2018.03.14 in #347
Ansible on Ubuntu in VirtualBox environment - using Python 3
-
2018.03.15 in #347
Enable Appveyor (CI on Windows) for the Perl 5 Markua Parser
-
2018.03.21 in #348
Installing Perl and CPAN modules using Ansible
-
2018.03.29 in #350
Creating a Markua Parser in Perl 5
I've made a lot of progress in the Markua parser and the eBook describing the development process. It became a nice case-study in Test Driven Development and you can get it for almost nothing.
-
2018.03.30 in #349
Interviews with Perl Developers
10 Interviews with Perl Developers from 2013. Now listed on one page.
-
2018.04.08 in #350
Useless use of hash element in void context
Just an example for code that can generated the above warning.
-
2018.04.16 in #351
Profiling part of a Perl application
An example using Devel::NYTProf
-
2018.04.17 in #352
How to run the tests of a typical Perl module
One of the obstacles in contributing to a Perl module is to know how to get started and how to verify that your changes are correct. Not any more. This article shows how to run the test of a module checked out from its GitHub repository.
-
2018.04.19 in #352
Variable number of parameters in Perl subroutines
How to implement a subroutine like 'sum' where any number of parameters can be passed and they are 'all the same'.
-
2018.04.20 in #352
Refactoring Perl code
-
2018.04.25 in #353
readline() on closed filehandle in Perl
A new entry in the Common Warnings and Error messages in Perl series in which I give examples of code that trigger specific warning and errors in Perl together with alternative explanations.
-
2018.04.28 in #353
slurp mode - reading a file in one step
How can you find a string in a file that might start on one line and end on another line? It would not be easy to do it if we read the file line-by-line.
-
2018.05.05 in #354
Introducing CI/CD, Test Automation to your team
Besides editing the Perl Weekly newsletter and writing articles on the Perl Maven site, I also offer services to companies helping them improve their development practices. Primarily I help introducing Test Automation systems (Unit ~, Integration ~, Acceptance tests.) Setting up CI/CD systems. Virtualization. Cloudification. Almost all of my clients came through referrals by people like you. Members of the Perl community. So if your team or company is interested in such a move, you know where to find me.
-
2018.05.05 in #354
Out of memory!
What really happens if your process tries to use more memory than is available in the computer? An experiment.
-
2018.05.05 in #354
Using a queue in Perl
Queues are one of the fundamental data structures in the programming world. Here is an example using Perl.
-
2018.05.05 in #354
Strings in Perl: quoted, interpolated and escaped
-
2018.05.05 in #357
Introducing CI/CD, Test Automation to your team
If you fight with legacy code and you think there could be a better way, let me assure you there is. You could write tests. You could set up Continuous Integration. You could work much faster and much safer. If you need help with that, talk to me. I offer such help as a service. Both for Perl and for other languages.
-
2018.05.07 in #355
Split up and flatten a CSV file
I wonder if this was a real task or just the homework assignment of someone and if I've ruined the homework of some Perl teacher now by publishing an answer...
-
2018.05.20 in #356
How to change @INC to find Perl modules in non-standard locations
-
2018.05.27 in #357
Command line counter with Memcached
Part of the Counter examples series, a simple example using Memcached.
-
2018.05.27 in #357
Groovy
Groovy is a JVM based programming language. These few articles are the beginning of a longer Groovy series.
-
2018.05.27 in #358
Command line counter with Memcached
Part of the Counter examples series, a simple example using Memcached.
-
2018.06.03 in #358
Groovy
Several new articles were added to the Groovy series.
-
2018.06.05 in #359
Using Rakudo Perl 6 in a Docker container
Short examples.
-
2018.06.10 in #359
Do you want to make your developers faster?
Introduce testing. Set up Continuous Integration. Refactor your code. Gabor, the editor of the Perl Weekly, can help you with any of these in Perl, Python, and other languages. Even remotely.
-
2018.06.10 in #359
Craft Conf 2018 retrospective
-
2018.06.10 in #360
Do you want to make your developers faster?
Introduce testing. Set up Continuous Integration. Refactor your code. Gabor, the editor of the Perl Weekly, can help you with any of these in Perl, Python, and other languages. Even remotely.
-
2018.06.11 in #359
SQLite in Memory
A simple example in Perl using an in-memory version of SQLite for when you'd like to use SQL statements, but don't need to store the data on the disk.
-
2018.06.11 in #360
SQLite in Memory
A simple example in Perl using an in-memory version of SQLite for when you'd like to use SQL statements, but don't need to store the data on the disk.
-
2018.06.23 in #361
Useless use of private variable in void context
The Useless use of hash element in void context warning that you might get if you follow my suggestion and turn on warnings in Perl.
-
2018.07.01 in #362
Git workflow for individuals
-
2018.07.02 in #362
Data Serialization in Perl
-
2018.07.07 in #363
Multi dimensional arrays in Perl
-
2018.07.09 in #363
RnD at WeWork
The first entry of a new series on the Code Maven web site trying to understand how RnD works in various hi-tech companies. The first entry is about WeWork.
-
2018.07.12 in #364
R&D at Graduway
A new episode of the R&D at $company series. Graduway is a small company that provides SaaS products aimed at universities, schools, enterprises, and other organizations.
-
2018.07.14 in #364
Accessor with type constraint
An older screencast about accessors with Moose.
-
2018.07.22 in #365
Class as type constraint
Screencast and code snippets.
-
2018.08 in #368
Enforcing commit message format in Git - on the client side
-
2018.08.04 in #367
Can't use string (...) as an HASH ref while "strict refs" in use at ...
-
2018.08.13 in #368
Perl Regex superpowers - execute code in substitution - what are /e and /ee ?
-
2018.08.15 in #369
Enforce fast forward as merge strategy in Git
-
2018.08.20 in #369
How to write to the beginning of a file?
-
2018.08.22 in #370
Jenkins-related articles
Jenkins CLI: create node and Jenkins Pipeline: Add some text to the job using shortText and Jenkins Pipeline: Send e-mail notifications
-
2018.08.25 in #370
Increase numbers in a file
-
2018.08.30 in #371
Strings in Perl: quoted, interpolated and escaped
-
2018.08.30 in #371
gcloud and aws
The Code-Maven site is used as my external persistent memory. I push out code snippets and command snippets that were useful for me. This time some command using the CLI interface gcloud and aws
-
2018.08.31 in #371
7 of the most useful Perl command line options
I've published this article to give people some pointers, to which I got a few "interesting" comments, including Dave Cross pointing to his 14 years old article which is longer and brian d foy who then posted his additions that also got some "interesting" comments. I did not know that command line options are such a popular topic. Almost competing with opinions about editors and indentation.
-
2018.09.09 in #372
Testing for no warnings in Perl
-
2018.09.15 in #373
tmux a terminal multiplexer
I am surprised how many people don't use any terminal multiplexer. So here are my notes.
-
2018.09.15 in #373
Memory use of sparse arrays in Perl
How much memory does this use? my @a; $a[1_000_000] = 1;
-
2018.09.15 in #373
Create Digital Ocean Droplet using Terraform
-
2018.09.24 in #374
Common Warnings and Error messages in Perl
-
2018.10.08 in #376
Simple Database access using Perl DBI and SQL
-
2018.10.14 in #377
How to improve my Perl program?
-
2018.10.27 in #379
Sudoku in Perl
-
2018.11.04 in #380
Getting Started with Perl::Critic (the linter for Perl)
-
2018.11.11 in #381
(Test) Automation - CI - CD - DevOps
As you might know my day-job is to help teams improve their development process by introducing Test Automation, CI/CD and other DevOps practices. Mostly I work with local customers, but I have started to work with a remote client and I wish to expand this. So if you feel your organization could get some boost in that area, get in touch with me.
-
2018.11.11 in #381
Scalar value ... better written as ...
-
2018.12.07 in #385
Distributing a Perl script using Docker container
One way to distrubute a Perl script embedded in a Docker image.
-
2018.12.21 in #387
Perl Critic reports
-
2018.12.29 in #388
Dancer in Docker
An example to create a Docker for Dancer 1 running on system Perl.
-
2018.12.30 in #388
Perlbrew on Linux (Ubuntu 18.10)
A partially successful experiment to use perlbrew supplied by Ubuntu.
-
2019.01 in #391
Functions in Bash
Just a few examples on how to use functions in Bash
-
2019.01 in #393
Limit Bitbucket pipelines to specific branches
Pipelines is the name of the CI SASS solution Bitbucket provides. Here are some configuration tips.
-
2019.01.18 in #391
Ranking of Perl sites
-
2019.01.20 in #391
Reading configuration INI files in Perl
How to read an INI file in Perl?
-
2019.01.23 in #392
The importance of using HTTPS
-
2019.01.30 in #393
CSV_XS ERROR: 2034 - EIF - Loose unescaped quote @ rec 5 pos 194
An error and how to fix it.
-
2019.02.16 in #395
A bunch of Perl one-liners to edit HTML files
I know some people will react to this with an automatic response 'never parse HTML with regex'. I wonder though, why talk in absolutes? Isn't it possible that someone might have special cases where the rule can and maybe even should be bended? Asking for a friend.
-
2019.02.16 in #395
Jenkins
Several new articles were published in the Jenkins series
-
2019.02.27 in #397
Using the Open Weather Map API with Perl
I like preparing simple, but full examples that can work out of the box. That's why I prepare them when I have the time.
-
2019.03. in #398
Reading the content of a directory
-
2019.03.17 in #399
Fast lookup by name or by date - Array - Hash - Linked List
How to design a data structure? That's one of the hard questions in computer science and the answer is: It depends on the usage.
-
2019.03.24 in #400
substr outside of string at ...
-
2019.03.31 in #401
Use of implicit split to @_ is deprecated ...
-
2019.04 in #403
Groovy
Many new entries in the Groovy series
-
2019.04.07 in #402
Reading and writing binary files in Perl
-
2019.04.12 in #403
min, max, sum in Perl using List::Util
-
2019.04.16 in #404
Hash of Arrays in Perl
-
2019.04.19 in #404
Getting started testing Perl module with Test2
-
2019.04.22 in #404
Groovy
Many Groovy-releated articles were publish this week.
-
2019.04.26 in #405
Perl Dancer examples
While for new project you should use Dancer 2 I am currently dealing with an application that is in Dancer 1 so I wrote a couple of examples. I was especially interested writing examples on how to test a web application written in Dancer as having tests allows us to move faster and it allows us to switch to Dancer 2 withot the fear of breaking the system and noticing only after deployment.
-
2019.04.27 in #405
CLI - Command Line Interface in Perl
A few points on CLI in Perl along with a new post about GUIs in Perl.
-
2019.04.29 in #406
Upgrading perl on Linux or OSX - installing perl using perlbrew without being root
-
2019.05.06 in #407
Debugging compile time code (debugging BEGIN block)
It is not a good practice to put a lot of code in a BEGIN block or in the body of a module that gets executed at compile time, but we have all encountered code like that. How can you debug such code?
-
2019.05.06 in #407
Add (conditional) debugger breakpoints to your code
What if you have a loop that you'd like to debug but only after it passed 10,000 iterations? Use conditional breakpoints.
-
2019.05.16 in #408
Merge hashes of arrays
-
2019.05.17 in #408
qx or backticks - running external command and capturing the output
-
2019.05.27 in #406
Prompt for user input using IO::Prompter
-
2019.09.13 in #425
Use the same sub as function or as method in Perl
-
2019.09.30 in #427
Hacktoberfest 2019 and Perl
Some low-hanging fruits of PRs that can help improve the overall health of the CPAN ecosystem.
-
2019.10.16 in #430
Write YAML file
Just a simple example to copy-paste.
-
2019.11.03 in #432
Read a YAML file and load it into memory
-
2019.11.09 in #433
File modify date - When was a file last changed?
-
2019.11.12 in #434
Epoch - The creation of the world
-
2019.11.12 in #434
Enable Travis-CI for Continuous Integration
-
2019.11.19 in #435
Counter example using YAML file to store the data
-
2019.11.26 in #436
How to print elements of an array in reverse order in Perl
-
2019.11.28 in #436
CI notification strategy
-
2019.12.07 in #437
Process the 6 headers of Markua
Parsing Markua, the magical typewriter.
-
2019.12.07 in #437
Gabor self reporting for 2019.11
-
2019.12.16 in #438
Exchange values and keys of a hash - how to reverse a hash
-
2019.12.19 in #439
Collecting errors while parsing Markua in Perl 5 - disregarding empty rows
-
2019.12.24 in #440
Meetups: Presentations and workshops
-
2020.01.01 in #441
Gabor self reporting for 2019.12
-
2020.01.18 in #443
Marketing and promotion
-
2020.01.26 in #444
Refactor test cases of the Markua Parser in Perl 5
Another part of the Markua parser series was released.
-
2020.02.02 in #445
Get Coveralls to notify when test-coverage shrinks
Part of the Markua processing series. (Markua is Markdown for writing books.)
-
2020.02.03 in #445
First impression with Raku
-
2020.02.29 in #449
Consider everything not recognizable as a paragraph in Markua
Another entry in the Markua parser in Perl series.
-
2020.03 in #450
Markua resources: Include files
-
2020.03.13 in #450
Test Automaton Engineer
Many companies are looking for 'Test Automation Engineers' or 'QA Automation engineers' or just 'Automation engineers'. In this post I tried to give you some insight to what you need in order to become one.
-
2020.03.14 in #451
Test coverage report with Devel::Cover for the Markua Parser
-
2020.03.29 in #453
On-line workshops and courses
I have been running training courses in class-rooms for ages, but those have a geographical limitation. I ran a few on-line workshops for free, which were great, but they are limited in scope and I run them in Hebrew so probably not relevant to you. I wonder if you'd be interested in workshops or full-length courses I run online for a reasonable fee? The main topics I offer: Docker, Git, GitHub, Linux (Bash), Test Automation, CI (Jenkins, Travis-CI) Cloud, Perl, Python, Golang. Let me know what would be interesting to you and in which timezone are you in by sending an e-mail to gabor@szabgab.com !
-
2020.03.29 in #453
Generate test expectations for the Markua parser
-
2020.03.30 in #453
Online Mob programming session for Perl (and maybe also Raku) programmers
As an experiment Thomas Klausner (domm) and myself are going to host a 'Mob programming' session on April 2 Thursday at 15:00 UTC (17:00 CET, 8 am PDT). It will run via Zoom and we'll probably use Cyber Dojo. It supports Perl 5, though it does not support Raku. Yet. I have hopes that by that time the Raku developers will be able to send a PR to the maintainers of Cyber-Dojo or that we'll have an alternative that also supports Raku. If you are interested to join, send me an e-mail (gabor@szabgab.com), and I'll send you an invitation.
-
2020.04.05 in #454
Code Maven page on LinkedIn
Gabor: I have created a page on LinkedIn that will allow you to get updates of my new posts on both the Perlmaven and the Code Maven sites. Many of those posts won't show up here in the Perl Weekly so you can follow me over at LinkedIn.
-
2020.04.09 in #455
Get real path (absolute path) from symbolic link (aka. softlink)
Given the name of a symbolic link how can you find out the absolute path to the file it points at?
-
2020.04.20 in #456
Code-Maven LinkedIn pages in English, Hebrew, and Spanish
I am experimenting with LinkedIn pages so I created 3. One for content in English, one for content in Hebrew, and one for content in Spanish. I would love if you followed at least one of them.
-
2020.04.21 in #457
Partially hide data fields
like this: '***************pqrs'. See also comments on Reddit including a very good point, that you probably should not store Credit Card numbers. You can probably store the last 4 digits and then show that only.
-
2020.04.24 in #457
Linux TAB completion of ls
-
2020.04.28 in #458
Start Git with a local repository
Part of the Git series. Follow Gabor on LinkedIn or on YouTube.
-
2020.05.02 in #458
How to edit Wikipedia
Follow Gabor on LinkedIn or on YouTube.
-
2020.05.06 in #459
Perl on YouTube
The major YouTube channels featuring Perl-related videos. Go and follow them!
-
2020.05.06 in #459
Parse numbered list in Markua
The next part in the Markua parsing series.
-
2020.05.11 in #459
Interviews with Perl developers
In this playlist I have a bunch of interviews with Perl developers.
-
2020.05.16 in #460
History in the Perl debugger, make the up arrow work
-
2020.05.16 in #460
Git on MS Windows
A series of videos teaching you how to use Git on MS Windows.
-
2020.05.23 in #461
Parse bulleted list in Markua
-
2020.05.25 in #461
How to use LinkedIn to find a job and to let a job find you in Hi-Tech
This is a webinar I am going to run on Saturday. Register now!
-
2020.05.30 in #462
Unmatched ( in regex; marked by <-- HERE
-
2020.05.30 in #462
How to use LinkedIn to find a job and to let a job find you in Hi-Tech
A video recording of the webinar last week.
-
2020.05.30 in #463
How to use LinkedIn to find a job and to let a job find you in Hi-Tech
A video recording of the webinar last week.
-
2020.06.07 in #463
Webinar: Job search - DistantJob with Leticia Naranjo
Next week I am going to run a webinar on job search in hi-tech from the point of view of the recruiter.
-
2020.06.07 in #463
Release the Markua::Parser to CPAN
-
2020.06.15 in #464
Add attributes to Markua - round 1
Entry in the Markua parser series.
-
2020.06.15 in #464
Job search - Distantjob with Leticia Naranjo
Webinar scheduled for tomorrow. 16th June 2020 at 8 am PST, 11 am EST, 15:00 UTC. Register
-
2020.06.19 in #465
Back to YouTube
-
2020.06.20 in #465
seek - move the position in the filehandle in Perl
-
2020.06.20 in #465
The goal
-
2020.06.21 in #465
the curl to Perl challange
The linked web site provdes a tool that can convert any 'curl' command to a 'python' or 'PHP' or even 'R' program. Currently it does not know how to convert to Perl. Would you want to give it a try implementing it?
-
2020.06.23 in #466
Success on YouTube
-
2020.06.29 in #466
Meet Pete Sergeant who runs Perl Carrers
Today we are going to have a live chat with Pete Sergean who runs the Perl Careers service to help match companies with Perl developers. There are still a few more places left. Don't miss it. Register here
-
2020.07 in #469
LinkedIn contacts by programming languages
Comparing the total number of people mentioning Perl in their LinkedIn profile to my 1st level contacts.
-
2020.07.03 in #467
The importance of blog writing to improve your employability
Improve your communication and story telling skills so when the job interview comes you will be much better at it.
-
2020.07.03 in #467
Why is marketing so hard for developers? - Feedback
In a nutshell: We programmers are spoiled with fast feedback loops while marketing, promotion, branding need a lot more time to bring us results.
-
2020.07.05 in #467
tell how far have we read a file
-
2020.07.05 in #467
Live web sites with editable Open Source source code
One of the best ways to gain experience in web-programming before (and maybe even during) you get employed doing it, is to write your own project or to get involved in an Open Source project. So I created several list. One of them is a list of projects where the source code of a live web-site is available for everyone to inspect and get involved. Some of them already have a short explanation about the technologies involved.
-
2020.07.07 in #468
Get absolute path (aka. canonical path) using abs_path or canonpath
-
2020.07.10 in #468
How to contribute to an Open Source Perl project
-
2020.07.10 in #468
LinkedIn Pages - by language or by topic?
I have now 8 LinkedIn pages. I think I got a bit carried away. The question, shall I group my posts by human language or by topic? Or maybe both?
-
2020.07.11 in #468
LinkedIn Hashtags and follower counts
If I am already investing a lot of time and energy posting on LinkedIn, I would like to have a bigger impact and reach more people. One way to do that is to use hashtags. So I was really curious how many people follow various hashtags that might be relevant to the subjects I write about.
-
2020.07.11 in #468
The Perl Foundation, the Perl Weekly, and marketing
Should the Perl Weekly be folded into perl.org?
-
2020.07.12 in #468
Perl Maven LinkedIn page
If you have an account on LinkedIn, follow this new page where I am going to share code-snippets, examples, and quizzes about Perl. Help me reach others by like-ing the posts.
-
2020.07.14 in #469
What does an SRE do at Adobe? - Our guest is Rachael Bates
Webinar on July 21st with Rachael Bates who is a Site Reliability Engineer (SRE) at Adobe. register now!
-
2020.07.16 in #469
Open Source Companies
One of the ways you can improve your chances to get employed is by contributing to the Open Source code-base of a company before you apply for a job. On this page I've started to collect companies that have some Open Source code. A few of them even have Open Source Perl code.
-
2020.07.24 in #470
Back to Twitter
After being dormant for 4 year the @perlmaven and the @code__maven Twitter accounts woke up with Perl and non-Perl code snippets. The article provides the background.
-
2020.07.25 in #470
Reading CSV file as many hash-es
Simple examle how to read a CSV file line-by-line as a hash using the values from the first line as the keys and the values from the current line as the values of the hash.
-
2020.07.25 in #470
LinkedIn polls - first experiment
LinkedIn allows us to post polls with up to 4 possible answers. Here are the results of an experiment.
-
2020.07.25 in #471
Videos inviting to the Code-Maven and Perl Maven web sites
It seems that the videos were not very successful.
-
2020.07.27 in #470
Perl Maven on LinkedIn
On the Perl Maven LinkedIn page I share a code snippet with some explanation every day. I have started with two serieses. One of them is about Dancer, the other one just some random but useful snippets of code. Follow it now!
-
2020.07.28 in #471
Promoting LinkedIn pages
There are several ways to promote a LinkedIn page.
-
2020.07.29 in #471
How to sync Google calendar with an external calendar?
How to trigger a sync in your Google calendar
-
2020.07.29 in #471
Supporters
I've updated the list of people who support me via Patreon with the names of all the people who agreed to be in the public. Some of them even told me why are they supporting me.
-
2020.07.31 in #471
How to contribute to Meta::CPAN
This video was already created by the inspiration and question of one of my Patreon supporters. So even if you don't have time to contribute to Meta::CPAN now, you could support me on Patreon and then I might be able to create a video in response to a question you ask me!
-
2020.07.31 in #471
Moo with hash reference as attributes - with or without default values
-
2020.07.31 in #471
Moo with array reference as attributes - with or without default values
-
2020.08. in #473
exists - check if a key exists in a hash
-
2020.08.02 in #471
Gabor self reporting for 2020.07
After 7 month of keeping them to myself, here is a new monthly report. It took time writing it, but it was actually fun.
-
2020.08.04 in #472
Supporting Perl-related creators via Patreon
Gabor thanks all the supporters.
-
2020.08.05 in #472
Start using the MetaCPAN API Client to fetch the list of most recently uploaded Perl modules
A short article and video on how to find out more about a Perl module that you are not familar with. It was created thanks to my supporters via Patreon. Support me so I can make more!
-
2020.08.05 in #472
Goal - Mission Statement
Every business needs a mission statement, even if your business is just to get by while doing (mostly) good.
-
2020.08.06 in #472
Full-time employment
I've started a series of posts where I write about the various Business Models or Income streams I have or I might have and what are the pros and cons. It is mostly a self-reflection, but might be interesting to others as well.
-
2020.08.07 in #472
Looking for a job while being unemployed
To be clear, I am not looking for a job, I am just thinking aloud about the others who do from my limited perspective.
-
2020.08.16 in #473
Fix the documentation of the MetaCPAN::Client
A minor fix that was caught on video. It show that it is quite easy to make small improvements. This post was created thanks to my Patreon supporters. Be one of them!
-
2020.08.17 in #473
Activity vs. Impact
Measuring the number of videos I record is easy, but measuring how useful the videos are is way more important.
-
2020.08.19 in #474
Introduction to Template::Toolkit
Just a simple example without any web framework
-
2020.08.22 in #474
First impression with Raku
In a Docker container.
-
2020.08.23 in #474
Template Toolkit processing Hash of Hashes
Another plain-text example, this time in response to a question on the Dancer mailing list.
-
2020.08.26 in #475
Raku Interactive Shell - values in $ variables
I had a lot of articles on the now defunct Perl 6 Maven site. I started to go over them, update them and add them to my Raku series.
-
2020.08.26 in #475
Long-term contract work
My little series about the various Income streams I had/have that might also help you if you are thinking about leaving full-time employment.
-
2020.08.30 in #475
Printing hash of hashes of arrays by the array
-
2020.08.30 in #475
Always check if the regex was successful
This post was born as a response to a question sent to me via email.
-
2020.09 in #479
Perl modules on CPAN having links to VCS and having CI configured
Look at the top of this newsletter. You'll see some statistics from MetaCPAN. This video explains them.
-
2020.09.01 in #476
Facebook poll about a Perl-based web app
The results from the two groups surprised me a lot. Which just mean I should not make any assumptions.
-
2020.09.02 in #476
Gabor self reporting for 2020.08
I am interested both in measuring the things I did and in trying to measure their impact which, in the end, is the more important thing.
-
2020.09.05 in #476
How to combine arrays to a multi-dimensional array and save them to CSV file
Based on a question from a reader. Thanks to supporters via Patreon.
-
2020.09.06 in #476
Perl Tk text widget to be used as a console
A screencast using Perl Tk. Thanks to supporters via Patreon.
-
2020.09.09 in #477
Introducing the Perl Tidy GUI project
The perltidy script allows you to convert your Perl source code to some unified layout. The Perl::Tidy module, behind the scenes allows us to build tools like perltidy. Let's experiment with it so we can try to build a GUI for it.
-
2020.09.12 in #477
App PerlTidy Tk version 0.01
As promised, I started to work a Perl Tk based GUI to fine-tune your Perl Tidy configuration. The first release is on CPAN. Explanations about Perl Tk and the project are posted to my Patreon supporters.
-
2020.09.16 in #478
Getting started with Perl on Windows using Strawberry Perl (2020 edition)
I am mostly using Linux as my desktop, but I got a project to improve some Perl code that currently only runs on Windows. So I had to install Windows in a VirtualBox and then Perl. Here is how beginners could get started with that environment. ~szabgab
-
2020.09.21 in #479
DevOps, CI/CD, and Automation assesment questions
A potential client sent me an e-mail that they are interested in automation and having CI/CD. (Nowadays this became a single entity.) I started to write down some question I need to ask them to understand their current situation and what are their goals.
-
2020.09.23 in #479
Sponsoring FErki
A video in which I am calling upon you to support the work of Ference Erki (aka. FErki). (See also the Reddit comments
-
2020.09.23 in #479
Minimal requirements for a blog
A while ago I started to think about a project in which I would implement a blog engine (possibly to replace bpo) and follow the development with screencasts. Now that Davorg started to talk about not having a central blog engine and that he also set up his Perl Planetarium, it might be better to do something else with my time. In any case I am posting the notes I made in case someone else is interested.
-
2020.09.27 in #479
Supporting Perl Creators vis Patreon, GitHub, and more
-
2020.10.01 in #480
Gabor self-reporting for 2020.09
-
2020.10.06 in #481
Hello World with Mojolicious in Docker
Thanks to the people who support the cause to create more Perl-related public content I had the time to record a short video.
-
2020.10.14 in #482
Visualize Perl class hierarchies as a graph using GraphViz2::Parse::ISA
A quick demo based on the code from the synopsis on the files that come with the distribution/
-
2020.10.24 in #483
Passing multiple parameters to a function in Perl
Positional parameter in Perl function call; Named parameters for Perl functions - Expecting key-value pairs
-
2020.10.24 in #483
CPAN Digger
CPAN Digger is an idea to collect and analyze interesting information about CPAN modules and then use that to improve the modules and the Perl code of everyone else.
-
2020.10.28 in #484
Setup GitHub Actions for CPAN modules
Gabor added another article to his collection. Do you want some fun with GitHub Actions?
-
2020.11.02 in #484
How to change an element of an array in Perl
-
2020.11.04 in #485
Checking a GitHub URL for existence
A simple example using LWP::UserAgent to check if a page returns 200 OK, a redirection or 404 not found.
-
2020.11.05 in #485
CI for CPAN modules
A fast feedback loop is one of the keys to making high quality and valuable software. A Continuous Integration system running your tests on multiple operating systems every time you push code to GitHub can give you the confidence that when you release your code to CPAN, it will not break in the hands of your users.
-
2020.11.06 in #485
Log::Log4perl layouts and formatting options
Just a small example for future reuse.
-
2020.11.06 in #485
#Perl on Dev.TO
You are all invited and encouraged to follow #perl on DEV.to and even post articles using that tag.
-
2020.11.06 in #485
Improving the quality of Open Source projects
I have been talking about this recently quite a lot within the Perl community. It is time to step out of it and start talking about similar ideas for other languages as well.
-
2020.11.07 in #485
CPAN Dashboard
Dave Cross created a beautiful CPAN dashboard for himself. You can copy his idea easily.
-
2020.11.10 in #486
I need to create a simple and stupid game for myself
Gabor: I am wasting too much time on a simple and stupid game. I should find or create some other game that is rather simple, but that if I am playing it, it might be actually useful to some.
-
2020.11.11 in #486
What adding CI to 30 projects revealed
Primarily, that I need to find a way to show how a CI system can benefit CPAN authors to find issues with their code before it reaches CPAN and before they are alerted by the CPAN Testers.
-
2020.11.13 in #486
Github Actions for Perl running on Windows, Mac OSX, and Ubuntu Linux
One example of how Dave Cross is using GitHub Actions as a CI system.
-
2020.11.15 in #486
Tests are awesome!
Just being all cheery about writing tests. I really like doing so, as I think they really help.
-
2020.11.16 in #487
Github Actions for Module::Install and showing error log on Linux, Mac OSX, and Windows
Part of the effort to enable some sort of CI system for all the modules on CPAN this is a sample configuration file for GitHub Actions. It might encourage you to add a GitHub Action configuration file to your project as well.
-
2020.11.18 in #487
What is CI and why is it good for you?
Screencast
-
2020.11.20 in #487
GitLab CI Pipeline for Perl DBD::Mock using Module::Build
Although the majority of Perl modules use GitHub there are a few that use GitLab. Some of them have the GitLab CI system enabled, some don't. In this article you can read how DBD::Mock uses CI to see if you can build on that example.
-
2020.11.21 in #487
Finding an Open Source Python project to contribute to
You can use the same approach to find a Perl project
-
2020.11.23 in #488
CPAN Digger explained
Gabor shared the internals of CPAN Digger.
-
2020.11.26 in #488
CPAN Digger - CPAN Dashboard - CPAN Rocks
Screencast showing you around three projects: CPAN Digger by Gabor Szabo, CPAN Dashboard by Dave Cross, both written in Perl and hosted on GitHub pages. Also, CPAN Rocks by James Raspass, written in Raku and hosted on GitLab.
-
2020.12.01 in #489
Find the first element in an array in Perl that satisfies a condition
Use grep or use List::Util::first
-
2020.12.01 in #489
Gabor self-reporting for 2020.11
-
2020.12.02 in #489
New Year's Resolution - every month
I just realized I could use my monthly report to have a new month's resolution and then even if after 2-3 weeks I abandon the commitments, the following month they can start again. Possibly in a new direction.
-
2020.12.06 in #489
Perl Dancer course
Learn how to develop a web application using Perl Dancer. This course is going to be recorded one video a day during the Advent of 2020. The price will also go up by $1 a day. So if you are interested in buying it, then the sooner the cheaper. Leanpub offers a 45-day, money-back guarantee.
-
2020.12.06 in #489
Programming Bootcamp for Scientists
This is an introduction to Python for people who have no programming background. It includes the basics and some tools that are needed for Data Science. I teach this course at the Weizmann Institute of Science. The link here is a coupon that will give a deep discount in the next couple of days. Leanpub offers a 45-day, money-back guarantee.
-
2020.12.06 in #490
Python Programming Bootcamp for Scientists
This is an introduction to Python for people who have no programming background. It includes the basics and some tools that are needed for Data Science. I teach this course at the Weizmann Institute of Science. The link here is a coupon that will give a deep discount in the next couple of days. Leanpub offers a 45-day, money-back guarantee.
-
2020.12.13 in #490
do
-
2020.12.14 in #490
Perl Dancer Course
I started it 10 days ago. It was not easy, but so far I have managed to make some progress and record at least one video every day. In the last week, my two courses were the best seller courses on Leanpub. I am quite happy with that and I hope they will remain there for the next week as well.
-
2020.12.17 in #491
You know Perl. What programming language would you like to learn now?
A poll I am running on my LinkedIn page. There are already over 40 votes. I would like to know how you plan to extend your knowledge. Interesting there were some people who commented Perl 5 which is interesting, it seems to indicate some people are not interested in enhancing their toolset. Maybe they think if they learn another language that will take away from their capability to write Perl. (ps. and you are also invited to follow the Perl Maven page.)
-
2020.12.20 in #491
Perl Dancer Course
-
2020.12.20 in #491
Running CGI script as a Plack application with Plack::App::CGIBin
One of my Patreon supporters asked and so here is the explanation on what to do if you have a bunch of CGI scripts and would like to start modernizing them.
-
2020.12.25 in #492
Perl Dancer Course
The course is now ready for you to watch.
-
2020.12.30 in #493
Evaluate Perl project for new client - assessment
Recently a number of people have contacted me with various Perl-based projects. I had the opportunity to have an email exchange with them to try to understand what they need and if I can provide the help. A few question came up and for my future reference I wrote them down.
-
2020.12.31 in #493
Perl Dancer and two Python courses
On the last day of 2020 I opened my new 'school' on Teachable and posted my first three courses. The 'Perl Dancer course', the 'Python Programming Bootcamp', and the new, 'Functional Programming in Python course'. To celebrate the opening and the new year I am offering them at 50% discount. USe the code END-2020 too enjoy it.
-
2021.01.01 in #493
Gabor self reporting for 2020.12
My personal monthly report with my monthly plans neither of which are probably interesting to you, but it is fun to collect my thoughts. Part of my strategy is to have a New Year's Resolution every month
-
2021.01.02 in #493
More Perl Maven followers on LinkedIn than #Perl followers
You might not know about the Perl Maven LinkedIn page, but it has just surpassed the #perl hashtag.
-
2021.01.11 in #494
New Perl Course: Parallel processing in Perl
I have started to record a new course on parallel programming in Perl. I still have plenty to add to the course, but I already wanted to let you know about it and I already wanted to give you access to it. In the coming days you can use the coupon code FORK1 to get 50% discount on the course price.
-
2021.01.11 in #495
New Course: Parallel programming in Perl
In this course I am showing how to create multiple processes to increase the speed of both CPU-intensive and IO-intensive applications. In a separate post I wrote a few fun things about the course.
-
2021.01.11 in #495
Which courses to record?
In which I share my struggle to find the intersection of 'the knowledge I can share' and the 'interest of the people following my platforms'. It is not easy for me.
-
2021.01.12 in #495
Daily Activity
Probably you don't care, but this what I try to do on a daily basis, or at least every 2 days to share a little bit of the knowledge I collected during the years and to gain followers that might one day trust me enough to buy a a training course from me.
-
2021.01.13 in #495
Refactoring code snippet
One of my readers who does not know much Perl was trying to figure out some Perl code and asked for my help. After looking at the code I thought the best way might be if I show a slightly improved version of the code that is at least partially more readable than the original one.
-
2021.01.14 in #495
In which subject in Perl do you feel you'd need better knowledge?
The poll I refer to is already closed, but I still would be interested in the topics that are interesting to you.
-
2021.01.16 in #495
Testing in Perl
New video course for people who would like to make it safter to change code by writing tests.
-
2021.01.20 in #496
Loop controls: next, last, continue, break
-
2021.01.24 in #496
Testing in Perl course
During the last week I made some nice progress recording the Testing in Perl course. So if you are a Perl developer who wants to make sure their code works well, this course can help you learn all the tools you need.
-
2021.01.26 in #497
How to replace a column in a CSV file using Perl
It is quite simple using Test::CSV, but if your file is simple you can also solve this by using split and join.
-
2021.01.26 in #497
What to do now?
Just trying to figure out priorities.
-
2021.01.31 in #497
Perl Courses
There are currently 4 Perl courses you can get one-by-one, all of them in a single bundle using a one-time payment or a monthly subscription.
-
2021.01.31 in #498
Testing in Perl
In this course you'll learn how to write unit and integration tests in Perl so you don't have to worry that something breaks when you make a change in your code or when one of the dependencies changes or when you upgrade to a newer version of Perl.
-
2021.01.31 in #499
Testing in Perl
In this course you'll learn how to write unit and integration tests in Perl so you don't have to worry that something breaks when you make a change in your code or when one of the dependencies changes or when you upgrade to a newer version of Perl.
-
2021.02.01 in #497
Gabor self reporting for 2021.01
-
2021.02.04 in #498
Open learning and coding session
A little background from a few days ago when I was still only thinking about starting to stream why I learn and explore new things and while I develop applications or contribute to Open Source projects. Since then I reached 30 followers on Twitch. Nice start.
-
2021.02.04 in #498
Exploring BDD in Perl - using Test::BDD::Cucumber - part 1
This was my first stream and it was not kept on Twitch, but you can see it here.
-
2021.02.05 in #498
BDD - Behavior Driven Development in Perl
Luckily I saw the announcement by Gabor on Twitter about his live video session. I was able to attend the show with few others coming along as well. It was fun watching him playing with BDD.
-
2021.02.08 in #498
Live learning / Live coding
I am a very late adopter, people have been doing this for a long time, but finally I also started it. I started streaming while I explore new things and write code. You can see the recordings and you can follow me on Twitch (and then you can set it up to send you alerts when I start streaming). I plan to stream frequently in two timeslots. Around 08:00 UTC and 18:00 UTC. I'd love to see you follow me and join me in some of the sessions.
-
2021.02.12 in #499
Send data to Elasticsearch using Perl LWP::UserAgent
Just a code snippet using LWP::UserAgent to POST data
-
2021.02.13 in #499
Periodic CI for dormant code
Why is it important to run your CI system even if you don't change your code.
-
2021.02.14 in #499
Perl Modules with their own websites
Some Perl modules have their own web sites separate from MetaCPAN. I wonder, would it be a good idea to encourage more module authors to create their own web sites? Maybe on GitHub pages?
-
2021.02.14 in #499
Live streaming while coding
Live streaming while I learn something new to me or while I try to implement something is a really interesting concept, especially when people start commenting on how I can do it better. If you are interested, sign up to Twitch, follow my channel and also turn on notifications so you'll know when I am starting to stream. For example soon I am going to work on turning a simple script into a daemon and then I'll continue working on a Dancer-based front-end to GitLab CI.
-
2021.02.17 in #500
List::GroupBy
List::GroupBy is a small module converting a list of hashes to some multi-level hash tabele. This is a code-reading video.
-
2021.02.17 in #500
Rex
FErki taught me a few things about Rex and now we are planning a live session in which he is going to teach me a lot more. Follow my Twitch channel to get notified.
-
2021.02.18 in #500
Carp::Always to find the source of the problem
In Perl warn and die tell us where a problem was noticed. carp and croak tell us where it was created.
-
2021.02.18 in #500
Add FAQ entry to MetaCPAN
Some of the distributions on CPAN are marked as 'looking for maintainer'. Test::Class displayed this message, so I asked for it and became the maintainer of that module. Then came the question, how can I remove the notifiaction about the need for a maintainer. In this video you will see how to add this explanation to the FAQ of MetaCPAN and then how to add a link from the notification banner to this entry in the FAQ.
-
2021.02.22 in #501
GitHub Actions CI job for Perl Test::Class - checking downstream dependencies as well
In this video I went over and explained the CI job I set up for Test::Class to try to minimize the risk of changes. It includes running the tests of several downstream distributions and a scheduled job to ensure upstream changes don't break the module during the time no one is working on the code.
-
2021.02.22 in #501
What can you do if you become the manager of a Perl development team with a huge legacy code-base?
-
2021.02.23 in #501
Sets in Perl using Set::Scalar
Do you remember sets and Venn diagrams from school? Have you ever needed set operations while programming? It is rarely needed, but when it is then it is good to know you can use a module in Perl to help you.
-
2021.02.25 in #501
What return is expected from a function?
Context in Perl: covering the wantarray, function and the want and howmany functions of Want.pm
-
2021.02.25 in #501
What to do with legacy Perl code?
-
2021.03.02 in #502
Gabor self reporting for 2021.02
-
2021.03.04 in #493
In which subject in Perl do you feel you need better knowledge?
OOP? Functional programming? Testing? Web development? I am running a poll asking just that question.
-
2021.03.07 in #502
CPAN Testers or CI system?
CPAN Testers is a valuable service, but setting up a CI system will help you get earlier feedback and can do certain things that CPAN Testers don't provide.
-
2021.03.08 in #502
Learn automation using (R)?ex
During this Zoom session FErki, the maintainer of Rex, will teach Gabor how to get started with Rex to manage servers. It is today! You will also be able to ask your questions.
-
2021.03.22 in #504
Forking, Process ID, Parent Process ID, init
-
2021.03.22 in #505
Forking, Process ID, Parent Process ID, init
-
2021.03.24 in #505
Which version of Perl does your non-CPAN code require?
I would love to know which 'new' features (post 5.8) you use. Especially in your non-CPAN code where you don't have to think as much about backward compatibility. If at all.
-
2021.03.25 in #505
unzip using Archive::Any of Perl
-
2021.04.02 in #506
Gabor self reporting for 2021.03
-
2021.04.04 in #506
Generate Calendar in ICal format
This example was written in preparation for the calendar file provided by the Perl Weekly site that contains all the Perl-related events we are aware of from our events page. There is also a calendar file provided by the Code Maven site that include all the live events.
-
2021.04.04 in #506
Live events
List of live events: Automation with Rex; Web application development with Mojolicious; BDD with Test::BDD::Cucumber.
-
2021.04.06 in #507
Tenjin templating system
One of my clients is using this module, so I thought I would try it to see how it is being used.
-
2021.04.06 in #507
Counter with Dancer using in-memory SQLite database
An example trying to show how to use an in-memory SQLite database with Dancer. I wrote this in response to a query by someone, but I am not sure there is any good reason to do anything like this in a real application.
-
2021.04.08 in #507
Moving from CGI to PSGI and Starman
A full example of a simple CGI script rewritten to be a PSGI script that can be deployed both as CGI - for backward compatibility, and using Starman. The article contains the Rexfile to deploy the whole thing including Apache on an Ubuntu based server.
-
2021.04.09 in #507
.env - the dot env application configuration file
-
2021.04.09 in #507
Attribute::Handlers to wrap a function
Mark Gardner pointed to the around modifiers of Moo and Moose as simpler alternatives.
-
2021.04.09 in #507
Test code which is using fork
-
2021.04.10 in #507
Perl One-liner: countdown on the command line
I think is the first time I have created an animated gif recording my terminal. Nice.
-
2021.04.12 in #507
Calendar of live events
-
2021.04.13 in #508
Live Pair programming
-
2021.04.16 in #508
Detect recursion using state variables
-
2021.04.18 in #508
Counter using Dancer2 and Redis in a Docker container
-
2021.04.19 in #508
Digital Ocean API using Perl
If you are not yet subscribed, you can do it now. Free of charge:
This newsletter is about the Perl Programming languages.