Acme::Study::Perl - empirical studies about how perl behaves
use Acme::Study::Perl qw(studyperl); studyperl("your expression goes here", "optional comment");
This module provides nothing that you cannot do yourself. Its focus is the test suite. If cpantesters deliver what they promise, this module's test suite can be used to study the behaviour of perl on multiple platforms.
The single function
studyperl only does some trivial formatting which will help deciphering the output of the testsuite.
My first descriptive table overview after I first released Acme::Study::Perl was generated with the following command:
ctgetreports --q meta:perl -q conf:use64bitint -q conf:use64bitall --q qr:"(native big math float/int.*)" Acme-Study-Perl
The result showed me six perls that have a bug in their conversion of strings to numbers and 28 perls that did it right. To find out more about the parameters that might have an influence, I called ctgetreports with --solve and --ycb (example in the ctgetreports manpage).
The calculation provided a hint that conf:ivtype is a candidate. Looking closer helped confirm the finding that all perls with ivtype
long long have this bug. And only one architecture with ivtype
alpha-netbsd. All others either provided the correct result,
-1 because they were native 64 bit processors or the expected wrong-by-rounding result
Evals the expression and sends with the diag() command from Test::More a terse Data::Dumper representation for STDERR.
So far we have defined four characters as hash keys per study:
# comment < input > output @ error ($@)
We have configured Data::Dumpe to write one line and sort the keys
<andreas.koenig.7os6VVqR at franz.ak.mind.de>
Please report any bugs or feature requests through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Acme-Study-Perl. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
You can find documentation for this module with the perldoc command.
You can also look for information at:
Thanks to RJBS for Module::Starter.
Copyright 2008 Andreas König.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.