Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: This code snippet causes Perl to SEGV

by davido (Cardinal)
on Aug 21, 2012 at 21:24 UTC ( [id://988879]=note: print w/replies, xml ) Need Help??


in reply to This code snippet causes Perl to SEGV

The following is not going to answer the question of why the code you provided causes a SEGV. It's more a commentary on where to place expectations and which foot-paths are most likely to lead to a destination rather than petering out in dense brush. It's bound to be full of generalizations, and p5p experts may find inaccuracies. (Corrections are welcome.)

Since there are almost never serious backward incompatibilities introduced between minor version numbers with Perl, and since minor releases almost always provide bug-fixes and security-fixes (rather than new features), it's usually advisable to upgrade to the most recent minor release within whatever major release you're stuck with.

These are the most recent minor releases for each major release (as of 8/21/12):

  • Perl 5.16 branch: perl-5.16.1
  • Perl 5.14 branch: perl-5.14.2
  • Perl 5.12 branch: perl-5.12.4
  • Perl 5.10 branch: perl-5.10.1
  • Perl 5.8 branch: perl-5.8.9
  • Perl 5.6 branch: perl-5.6.2
  • Perl 5.5 branch: perl5.005_04
  • Perl 5.4 branch: perl5.004_05
  • Perl 5.3 branch: perl5.003_07
  • (Source: perlbrew available)

In fact, it's rather pointless to discuss bugs in, for example, 5.10.0, since 5.10.1 is the bug-fixes that found their way into the 5.10 branch. 5.10.0 isn't the current version within the 5.10 branch. The red phone has been disconnected from 5.10.0. If any hotline still exists for the 5.10.x branch, it will direct calls to 5.10.1's red phone. If the bug can be reproduced in 5.10.1 (and maybe it can), that's a slightly different situation, as it affects the current 5.10.x release.

Furthermore, Perl-5's current development strategy is to support the two most recent even-numbered major releases. Currently that covers 5.16.x and 5.14.x. So 5.12.x and earlier are no longer actively supported. It's possible that a giant security problem being discovered in 5.12.4 would prompt a new release of 5.12.x, but P5P isn't going to feel a whole lot of urgency, and the further back you go the less likely it will be that such a discovery would result in a new release within the major version.

Formats are another can of worms in addition to the maze of Perl versions and active support. It's hard to imagine a templating system in Perl that could have more caveats, quirks, and warnings (while at the same time receiving less attention) than formats. Lightweight tasks are often pushed back to printf, and others are upgraded to real templating systems like Template::Toolkit, HTML::Template, Text::Template, and even framework-specific template systems like Mojolicious's Embedded Perl templates (each undoubtedly with its own quirks ;). Native formats just aren't used all that often, which is why they probably haven't seen much refinement over the years.


Dave

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://988879]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (2)
As of 2024-04-26 04:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found