Perl 5 Porters Mailing List Summary: December 21st-27th
Hey everyone,
Following is the p5p (Perl 5 Porters) mailing list summary for the past week. Enjoy!
Hey everyone,
Following is the p5p (Perl 5 Porters) mailing list summary for the past week. Enjoy!
Perl is built with testing in mind from the start. All the tools someone would like to have to do testing are there. Almost every module on CPAN has a directory t , containing test files. Writing one’s own test files is not really hard, once familiar with the tools.
Testing a web application written with Dancer is also really convenient with Plack::Test and PSGI. The usual way would be to use a SQL Lite database as a test database, which can be created or teared down pretty easily.
However, a SQLite database can’t always do the trick. If the website/API is using for instance database schema or any other functionality that SQLite does not support. In that case, we need to find a way to test with a PostgreSQL server.
To illustrate that, let’s write a really small API with Dancer 2, that will manage a film collection. To keep it simple, we will just keep a list of films with their title. The database engine used being PostgreSQL:
I know this is probably the worst time of the year to blog about something different than Perl 6... but I had this article under construction since about one month, and some Christmas vacations helped to give it the final touches! I hope someone will enjoy... and I wish you all a happy new year!
Some ramblings over 6.c:
Dr Strangecode, or how to stop worrying and learn to love Perl 6!
So Perl 6 has been officially released.
By Christmas.
Just as I always promised (...for, ahem, so many years in a row ;-)
And now that we've arrived at this joyous and long-anticipated day, now that we officially have this extraordinary and beautiful language at our disposal, now that the project that has consumed half of my own professional life has finally reached its first great milestone ...what can I say?
I could perhaps reflect on the long, often lonely, sometimes painful, struggle to bring this language into existence. On the endless fear, uncertainly, and doubt from a sceptical world. But that is only history now, irrelevant, and largely obscured by the memory of the tireless support and patience and faith of so many loyal friends and supportive colleagues.
Check out the final Perl 6 Advent post of 2015.
Also check out Jonathan Worthington's thoughts on the 6.c release of Rakudo.
While going through my repositories, looking for things to work on during the holidays, I found a draft blog post for the CPAN.io pulse, that I initially planned to publish in June 2015: CPAN.io as a reference site
Greetings,
Several hours ago my unorthodox campaign came to an unsuccessful end. There has been a lot of feedback to my previous post, some of it so surprisingly off the mark that I still have not wrapped my head around it enough for a proper response. I plan to publish a much more in-depth analysis and "lessons learned", but I need to gain much more distance from the current hot mess of CPAN, to better express the crux of what went right and what went wrong (spoiler - while the campaign itself failed, I consider the chain of events an incredible, way-beyond-what-I-expected success)
Couple weeks before the "I give up" announcement I compiled and started working in parallel on the following list, in order to shape up a "final ribasushi-approved" DBIC release:
Perlito5 now supports calling Perl subroutines from Java.
For example, a Perl module was compiled to "Main.java", and it can be called using:
class TestPerl {
public static void main(String[] args) throws Exception {
// initialize the Perl module - setup global variables
// and create the subroutine entries
Main.init();
// locate the subroutine main::test
// and call it with an argument list
// that is: @res = main::test(123)
PlObject[] res = Main.apply("main::test", new String[]{ "123" });
// do something with the results
for (PlObject s: res) {
System.out.println("Java result: " + s.toString());
}
}
}
Hey everyone,
Following is the p5p (Perl 5 Porters) mailing list summary for the past week. Enjoy!
Thanks to @VMBrasseur on Twitter and IRC, several people this year decided to submit Perl (and especially Perl 6) content for OSCON 2016. The talk announcements won't be made until December 25th (I personally submitted two, and I know of at least 4 others who submitted), but I'm pleased to announce that one of the 3-hour tutorials at Austin will be an "Introduction to Perl 6", led by yours truly.
In bash, at least.
Just paste this (on your command line or into .bashrc or wherever else you want):
perl-lib() { eval "`perl -M'local::lib @ARGV' - "$@" 0<&-`" ; }
Then you can just say things like this:
$ perl-lib ~/locallib/foo
$ perl-lib --deactivate ~/locallib/bar
$ perl-lib --deactivate-all
… instead of having to type stuff like this:
$ eval "`perl -Mlocal::lib - --deactivate ~/locallib/bar`"
… or even, as you would have had to in old versions of local::lib, this awfulness:
$ eval "`perl -Mlocal::lib=--deactivate,$HOME/locallib/bar`"
Note that the shell function will work irrespective of local::lib version.
Update: I originally posted this with a 1<&- redirect in the function, which closes STDOUT. What I actually wanted to do was close STDIN, of course.
It's been so many times when I wrote about swat and sparrow - a tool-chain for rapid web test automation development .
Well, it's time to represent a SparrowHub - a central repository of sparrow plugins.
About swat and sparrow in few words.
Swat - is a web test automation framework for quick and simple web test development. There are a plenty of documentation at swat project page HOW to write swat test suites and a lot examples as well.
Sparrow was designed as evolution for swat related development. Sparrow provides infrastructure for swat related projects. It means you could orchestrate and manage various swat tests and run them as well against dedicated web services. Right now it's quite simple console client with ordinary, naive look but I have a bigger plans for it ;-)
Strawberry Perl 5.22.1.1 is available at http://strawberryperl.com
More details in Release Notes:
http://strawberryperl.com/release-notes/5.22.1.1-32bit.html
http://strawberryperl.com/release-notes/5.22.1.1-64bit.html
I would like to thank our sponsor Enlightened Perl Organisation for resources provided to our project.
Dear Perl and MySQL community,
We're pleased to announce the release of DBD::mysql 4.033_01, the Perl DBI driver for MySQL and MariaDB databases. This is not a 'stable' release but merely for testing and feedback. We'll put out a stable 4.034 release soon; probably before christmas.
Apart from that, I'd like to announce that we might want to link to
SSL by default. MySQL 5.7 makes SSL connections to databases more
common; right now in DBD::mysql you'd need to pass an option to
Makefile.PL (--ssl) in order to enable linking to libssl. Of course,
many people (and linux distributions!) don't do this by default. On
the expense of the added dependency to libssl we'd want to default to
compiling against libssl. We'd introduce a --nossl flag for the cases
where you'd explicitly NOT want to link to SSL. When DBD::mysql is
compiled against libssl you can still make connections to not-sslified
servers.
Any feedback (+1's, remarks or objections) would be appreciated!
My talk from this months SydneyPM. Wherein I install OpenWRT on to an inexpensive TP-Link pocket router, install perl and attempt to smoke CPAN.
I also introduce OpenWRT in possibly too much detail, and dont really explain what smoking CPAN is.
Kieren's talk was excellent, although he informs me that he wishes to expand and refine it for future use so will not be publishing it at this time.
cross-posted from dams blog
In Perl, exceptions are a well known and widely used mechanism. It is an old
feature that has been enhanced over time. At the basic level, exceptions are
triggered by the keyword die. Exceptions were initially used as a way to stop
the execution of a program in case of a fatal error. The too famous line:
open my $fh, $file or die "failed to open '$file', error: $!";
is a good example.
The original way to catch exceptions in Perl has a somewhat strange syntax,
it's based on the eval keyword and the special variable $@:
eval { code_that_may_die(); 1; }
or say "exception has been caught: $@"
I was surprised to see there aren't any 256colors scripts installable from the CPAN. I have one I've been using locally for awhile, so I turned it into a proper module and uploaded it as App::256colors (first!).
Compared to the many other 256colors scripts floating around the internet, this one will print 256 color codes in both integer and hex/rgb format, which can be useful depending on what you're tweaking (e.g. Xdefaults vs PS1). I also think the output format is pretty nice (although I may be biased :) )
Based on the size of your terminal it will wrap the column output accordingly, as well as invoke the less pager with suitable options if the terminal is too small to display all the codes.
It's a pretty simple script, but I've found it invaluable for getting my color schemes "just right."
Screenshot:
https://metacpan.org/pod/distribution/App-256colors/bin/256colors https://github.com/calid/app-256colors
blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.