in reply to The latest & greatest in 5.8.x?

You'd probably be more interested in looking at the changes from 5.005 to 5.6.0. That was a much bigger release! Stuff I can't do without from 5.6.0:

I'm sure there's more. It's been so long since I used 5.005 that I've probably forgotten a lot of the worst stuff.

-sam

Replies are listed 'Best First'.
Re: Re: The latest & greatest in 5.8.x?
by drewbie (Chaplain) on Apr 20, 2004 at 21:25 UTC
    Hmmm, very true. Why didn't I think of that? So looking at Perl 5.6 delta

    Some highlights you didn't mention:

    • Better threads (but superceded by 5.8 threads)
    • Better subroutine attributes
    • 3 arg open (you touched on it above)
    • CHECK blocks
    • lvalue subs
    • Improvements in subroutine calling speed
    The 3 arg open looks very useful for more concise code. Code speedups are always nice. :-) What are CHECK blocks? Piers Cawley (through Google) tells me that:
    So, what's a CHECK block? The idea is that they're supposed to be called after compilation is completed. They're intended to be used by the compiler backends, to save the program state once everything's been assembled into an op tree. However, there's no reason why you can't use them for other things instead.
    Anyone come up with a use for a CHECK block other than a backend compiler writer?

    So what about lvalue subs? When would they be useful? IIRC, they simply mean you can do my_sub() = 'foo'. But I've never run into a situation where this would be useful.

    And finally, what about attributes? I've been looking at Maypole and it uses attributes to mark methods callable sub method_name :Exportable { } via the URL ("/appbase/table/edit/id"). Any pointers to good documentation about attributes and how they can make life better?

      Some highlights you didn't mention:

      Yeah, I don't use any of those! Threads in Perl are fun to play with but hardly production-ready. Attributes and lvalue subs are sugar I don't seem to need.

      -sam

Re: Re: The latest & greatest in 5.8.x?
by tilly (Archbishop) on Apr 21, 2004 at 02:05 UTC
    Can you explain why you find our indispensable?

    To understand my existing preconceptions, see Why is 'our' good?.

      I find 'use vars qw()' to be hard on the fingers and even harder on the eyes, particulary as a twin to the very pretty my(). I use our() at the package scope where I'd otherwise 'use vars qw()', basically.

      I've played with using it to scope access to global data in shortish scripts, but I didn't find it all that useful.

      -sam