This Week on perl5-porters (28 April / 4 May 2003)

This Week on perl5-porters (28 April / 4 May 2003)

This week summary doesn't feature very exceptional bug fixes, or utterly important information, or pearls of the most pleasant sense of humor of the perl5-porters. Does this mean that it's completely non-interesting ? Read it and judge by yourself : shortcuts, ACLs, meta-information, and a couple of cows.

Windows shortcuts

Last week, Edward Peschko started a discussion about adding support for Windows shortcuts (.lnk files) in the perl core. He asked whether the lib pragma could be modified to support the syntax

    use lib "shortcut.lnk";

Several approaches were suggested : modifying readlink() on Windows, to handle shortcuts, or have a Windows-specific module that redefines CORE::readlink(). Several people noted that a shortcut is not the same thing at all than a symlink, and thus that perl should not cheat about readlink() and paths involving symlinks.

ACL support, and the filetest pragma

Stas Bekman remarks that some OSes use ACL (Access Control List) -based file access controls. He asks whether perl could use internally the equivalent of

    POSIX::access($file, &POSIX::X_OK)

instead of -x $file, where access(2) is supported.

Mark Mielke points out that the filetest operators are not (in the general case) equivalent to the access(2) mechanism, due to a possible difference between the effective user id and the real user id. And backward compatibility should be preserved. Jarkko Hietaniemi recalls that the filetest pragma should be used modify to the semantics of filetests.

Later, Slaven Rezic asks whether filetest works at all. This pragma is supposed to be lexically-scoped, like strict. It is not, because it tests the compiler hints at run-time, but they are only relevant at compile time. This was fixed by Jarkko and Slaven.


Aaron Sherman asked about copy-on-write : how it's supported, and whether it's going to become the default. (Reminder : perl can be compiled with the -DPERL_COPY_ON_WRITE cc flag, which enables copying string values only when they're changed.) He's looking for ways to improve the performance of SpamAssassin, a tool that processes lots of strings if any, and apparently tries to implement a module to provide COW-enabled magic scalars. Nicholas Clark summarized the state of the copy-on-write feature : the good news: I can't measure any slowdown. The bad news: I can't measure any speedup.

Meta-information in CPAN packages

Autrijus Tang posted a detailed proposal about the inclusion of a standard META.yml file in CPAN distributions, and the inclusion therein of some meta-information that could be used by the CPAN indexer, to prevent some files or directories from being indexed. Ken Williams noted that Module::Build was already able to generate a META.yml file. Autrijus' proposal was extensively discussed in a long thread :


John Peacock is apparently about to post a patch that makes the $VERSION variable magical, so that it automagically turns version-like scalars assigned to it into version objects.

Matthew O. Persico asks about the possibility to backport John's changes via a CPAN module.

In brief

Casey West continued to send doc patches and to close doc bugs. And indeed, due to general effort, a lot of bugs were closed. By the way, Robert Spier is organizing the PerlBugAthon, aimed at closing as many perlbugs as possible, during OSCON 2003's Hackathon.

Gurusamy Sarathy warns that there are probably cases of non-thread-safety in perl 5.8.0, because some global variables have gone into perlvars.h, instead of being put into intrpvars.h. Sorting them out is needed.

Rafael Garcia-Suarez provided a patch to get bleadperl working on SCO OpenUNIX 8.

Tye McQueen proposed a simple patch to fix a bug in hash bucket assignment (the number of buckets not growing in some pathological cases).

Richard Clamp posted a quick-fix patch to get perl 5.005_03 to compile on newer Linux distributions. (long)

Brent Dax asked why regex-heredocs aren't allowed (something like $string =~ <</FOO/). Perhaps because they're not really needed.

About this summary

This summary was brought to you by Rafael Garcia-Suarez. Weekly summaries are available on and via a mailing list, which subscription address is Feedback (and patches) welcome.