develooper Front page | perl.perl5.porters | Postings from October 2003

This Week on perl5-porters (6-12 October 2003)

Thread Next
Rafael Garcia-Suarez
October 13, 2003 05:53
This Week on perl5-porters (6-12 October 2003)
Message ID:
This Week on perl5-porters (6-12 October 2003)
      summary++ # new week.

5.8.x binary compatibility
  Chip Salzenberg notices some binary incompatibility issues between perl
  5.8.0 and perl 5.8.1 : some XS modules built under 5.8.0 don't run
  properly with 5.8.1 without being recompiled. This is due to the new
  hash randomization feature. Running perl 5.8.1 with the environment
  variable PERL_HASH_SEED=0 fixes it. Chip suggests a more general fix
  -- basically to move the hash seed to a global variable instead of a
  function argument -- and says that 5.8.2 should be released quickly. His
  idea is further discussed.

XS Constants and threads
  Michael J.Pomraning reports (bug #24138) that the value returned by
  File::Glob::GLOB_ERROR() does not seem to be isolated between differents
  threads. Rafael tries to trace the bug up to ExtUtils::Constant, with no

When you load UNIVERSAL
  Slaven Rezic reports that explicitely loading the UNIVERSAL module
  breaks things, because defines an import() method (aliased
  to Exporter::import()), which is thus inherited by all classes whenever has been use'd. Michael G Schwern provides a patch,
  ensuring that UNIVERSAL::import() does nothing when invoked on anything
  else than the UNIVERSAL package.

set*uid calls broken on Mac OS X
  Bug report #24122 details how the C library calls "setruid", "setrgid",
  "setreuid", and "setregid" are broken on Mac OS X, and how they affect,
  consequently, perl's $< and $( variables, for scripts that want to drop
  privileges. Slaven Rezic suggested that they should be disabled at
  configuration time.

Filetest operators syntax
  Ton Hospel reported (bug #24127) that filetest operators don't follow
  the rule that applies to other named unary operators, "if it looks like
  a function it's a function". Rafael Garcia-Suarez documented this fact
  more clearly in the perlop manpage.

  Following his internal stream of consciousness, Rafael then submitted a
  patch to allow to stack filetest operators, i.e. to write :

      -f -w -x $file

  instead of :

      -x $file && -w _ && -f _

  although he doesn't think that allowing "-fwx $file" in Perl 5 would be
  a good idea.

Extending the defined() and exists() syntax
  Roy Johnson posted some insteresting ideas about possible extensions to
  defined() and exists().

Handling attributes at runtime
  Daisuke Maki found out that attribute handlers are not invoked when
  defined in a file sourced at run-time. That's because they're by default
  run at CHECK-time, and CHECK blocks are only invoked once during the
  lifetime of the perl interpreter : just after the global compilation

When you "goto +foo"
  Juerd reported (bug #24108) that you can't "goto +foo" to go to the
  label whose name is returned by the function foo(), because perl
  actually tries to go to SCALAR(0xDEADBEEF), the stringified form of the
  reference to the return value of foo(). xmath proposed a fix, that got

When "ref($foo) == 0"
  Abigail remarked that Perl's documentation says that "ref" returns a
  true value if its argument is a reference, and false otherwise, and that
  this statement is not entirely true, since it's possible to bless a
  reference into a class named 0. This edge case was sufficient to give
  birth to a long thread.

When a module loses its XS part
  James FitzGibbon notices that pure-perl modules are installed later in
  the @INC path than XS modules. Consequently, if an XS module on CPAN is
  replaced by a pure-perl version, it won't be seen by the users who will
  upgrade it, hidden by the earlier version, still on the hard disk. Nick
  Ing-Simmons proposes a solution : that this module still insists to be
  installed in the architecture-dependent directory. Michael G Schwern
  also points out that the prudent user can issue a "make install
  UNINST=1", that searches @ISA for other versions of the same files and
  remove them.

When you use a Turkish locale
  Ismail Donmez reported (bug #24121) that perl's Configure script can't
  be run under a Turkish locale, because it actually tests for the
  uppercase form of the letter 'i', which is not 'I' in Turkish (it
  actually corresponds to Unicode character U+0130, also known as

In Brief
  Hugo van der Sanden is planning to release the first development version
  after the 5.8 branch, i.e. perl 5.9.0, during next week.

  Jos Boumans reports as bug #24182 that objects seem to loose their
  overload magic during destruction (except when the DESTROY method is
  called explicitely).

  Gisle Aas, by (ab)using an undocumented feature (not unrelated to source
  filters and @INC hooks), made perl dump core; later, he provided a fix.

  Nick Ing-Simmons compared MANIFEST files to mitochondrial DNA.

About this summary
  This week's summary was written by your regular summarizer, Rafael
  Garcia-Suarez. Summaries are published weekly on
  and on a mailing list, which subscription address is Corrections and comments are welcome.

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About