By Curtis Jewell

You may have heard about a new and larger Perl distribution for Windows called "Strawberry Perl Professional". The idea behind it was known as "Chocolate Perl". You may have heard that name, too. What does that mean for Strawberry Perl for Windows, and for Perl in general?

Don't worry, Strawberry Perl will still be maintained. In fact, Strawberry Perl Professional would not be possible without Strawberry Perl as it has been for the past few years, and is directly installable on top of Strawberry Perl. The ideas behind Strawberry Perl and Strawberry Perl Professional overlap, but are subtly different.

Strawberry Perl is made for the "intermediate-to-expert" Perl programmer (although even newbies can use it), who is likely to be coming over from Unix and is needing to write Perl scripts and modules in the Windows environment. The goal is to be as close to the Perl experience on Unix as possible, and with a minimum of problems, while still staying native to Windows.

The goals of the modules that Strawberry Perl includes, therefore, are:

  1. To be able to install other Perl modules easier, whether from CPAN, from .par files, or .ppm files.
  2. To include hard-to-install modules (the databases, and the cryptographic toolchain).

Strawberry Perl Professional is made for the Perl programmer of any (or even no) experience writing Perl in or for the Windows environment, and includes in addition:

  1. Modules that significant segments of the Perl community use on a regular basis (BioPerl, Catalyst.)
  2. Modules that help improve the quality and readability of the Perl code being written, and make releasing Perl programs and modules easier.
  3. Graphical programs to assist in maintenance and debugging of Perl code, viewing Perl documentation, and installing Perl modules.

To this end, Strawberry Perl Professional includes Padre as an IDE, and also includes a graphical CPANPLUS shell and Plain Old Documentation viewer. It also includes most of the modules in Task::Kensho, and more links to websites for the Perl community, especially relating to the installed modules, and introductions to programming Perl.

If you want to test out the first alpha version of Strawberry Perl Professional, read the announcement (so you know what you're getting into) and then go to the Strawberry Perl beta page and download and install it. Suggestions for improvements, and bug fixes to the component modules, are certainly welcome - I've already been given quite a few.

Curtis Jewell has been helping build and write Strawberry Perl for Windows for the past year, and also reports bugs and sends patches to other Perl projects.

I've been following stories about Roger Ebert's new voice, which a company has made so that they can apparently plug it into his Mac. In his appearances on camera, the voice he's been using is the Mac "Alex" voice. What other voices does your Mac have? Here's a Perl one-liner to play them.

From the Terminal window, paste this in at the prompt:

perl -le'for (@ARGV){m{/(\w+?)\.SpeechVoice};' \
  -e'$_=$1;s/([a-z])([A-Z])/$1 $2/g;' \
  -e'print qq{say -v "$_" This is $_};}' \
  /System/Library/Speech/Voices/* | sh -x

On my Mac, "Organ" isn't found, but I don't know why.

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com.

A while back, I put up bobby-tables.com as a repository for showing people the right way to handle external data in their SQL calls. Whenever someone pops up on a mailing list or IRC and they're building SQL statements using external tainted data, you can just refer them to the site.

In the past few days, I've spiffed up the site (with design help from Jeana Clark) and added pages on Perl and PHP. I need more examples, though. It's 2010, and there's no reason anyone shouldn't know about parameterized SQL calls.

The site source is hosted on github, so if you have any contributions, please fork it and let me know about your applied changes, or you can email me directly.

Thanks!

P.S. In the next few days, I hope to fire up some redesign on perl101.org, too.

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com.

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com.

Go run to the announcement about Devel::NYTProf v3.0. Marvel at the code profiling goodness.

Highlights include:

  • Ability to profile opcodes, which means...
  • NYTProf can now profile slow regular expressions
  • More detailed stats on BEGIN blocks
  • Treemap of subroutines
  • Tracking of which subs called which other subs
  • Graphing of sub calls
  • Improved report output
  • Ability to merge profile runs, such as when a process spawns other processes like mod_perl code does.

Already I have found that my regular expression compilation is taking 6% of the runtime in my sample runs in ack. I had no idea.

Just amazing. Go try it now, and buy Tim Bunce and the other contributors a beer.

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com.

These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com.

Advent calendars galore

| No Comments

By Matt Follett

It's the time of year for Advent Calendars and it looks like the Perl community isn't disappointing this year.

Perl Advent Calendar

The first day talks about using Package::Alias to alias Mouse to Moose.

RJBS Advent Calendar

Ricardo Signes' calendar to showcase things he has been working on. His first entry is about Sub::Exporter which looks very powerful.

Catalyst Advent Calendar

Perl 6 Advent Calendar

This one starts off with setting up Rakudo, so it requires very little prior knowledge.

SysAdvent

Tips for system administrators

All of these have RSS feeds, so they'll be easy to follow. Have fun!

Matt Follett is a developer in the Informatics team at The Genome Center at Washington University School of Medicine, where he works on high-throughput DNA sequencing projects. He is a graduate of the University of Missouri at Rolla, where he majored in Computer Science & Computer Engineering. He has worked for Monsanto, Boeing, and Beck Automation as a software engineer. He was the head of the 2009 St. Louis BarCamp. He currently resides in St. Louis, where he heads the local chapter of Perl Mongers.