While spending some time putting together my own perltidyrc
file, I became
intimately familiar with the Perl::Tidy
documentation.
One day, I decided to find out exactly how much code I was maintaining. Since
perltidy can strip comments and POD, and also normalize the source code to make
a fair measurement, it's a perfect tool for counting Source Lines of Code
(SLOC).
Here's a small shell script using ack
, perltidy
, xargs
, and wc
to count
the source lines of code in any number of directories.
ack -f --perl $@ | xargs -L 1 perltidy --noprofile --delete-pod --mbl=0 --standard-output | wc -l
I ran into a frustrating problem the other day:
$ git add -i
/usr/bin/perl: symbol lookup error: ~/perl5/lib/perl5/x86_64-linux-thread-multi/auto/List/Util/Util.so:
undefined symbol: Perl_xs_apiversion_bootcheck
fatal: 'add--interactive' appears to be a git command, but we were not
able to execute it. Maybe git-add--interactive is broken?
Continue reading Conflict Resolution: local::lib and git's Perl...
Lots of news for the Chicago.PM group! We've got a new Chicago.PM
website, powered by Github, up at
http://chicago.pm.org. The website is completely
editable via Github using the Octopress system. We hope
to start sharing resources about Perl on our website, increasing the exposure
of the good tutorials and learning sites.
Continue reading Chicago.PM New Website! New Meetup URL! New Presentations Project!...
Last week, Andy Lester (author of Land the Tech Job You
Love) came to talk about tools to help programmers
work more efficiently and the 2.0 release of his Ack search
tool.
Continue reading Chicago.PM - Beyond grep - Expanding the Programmer Toolset...
A co-worker came to me today with a curious error message:
use DateTime;
my $date = DateTime->new( year => 2013, month => 4, day => 15 );
$date->set_time_zone("Australia/Sydney");
print $date->today;'
This code gives the error Can't locate object method "_normalize_nanoseconds"
via package "2013-04-15T00:00:00" at
/usr2/local/perlbrew/perls/perl-5.16.3/lib/site_perl/5.16.3/x86_64-linux-thread-multi/DateTime.pm
line 252.
The package "2013-04-15T00:00:00" is the curious part: It looks like a
stringified DateTime, but who could possibly be stringifying a DateTime object
and then using that as a package name?
Continue reading I Bless You in the Name of the Stringified Object...