Slashdot Log In
Perl 5.8.0 Released
Posted by
pudge
on Fri Jul 19, 2002 08:29 AM
from the jhi-is-my-hero dept.
from the jhi-is-my-hero dept.
twoshortplanks writes "The latest version of Perl has been released, with new features such as better Unicode support, a new threads implementation, new IO layer support, and a whole plethora of bundled modules - plus a wonderful collection of regression tests and new documentation. The release notes and links to mirrors for download are on dev.perl.org." This is not a release candidate, it's the real thing, representing over two years of work by patch pumpkin holder Jarkko Hietaniemi and his merry band. Hugo van der Sanden is the new pumpking for perl 5.10.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Excellent! Now I have something to do at work :) (Score:1)
Explanation of Pumpking (Score:5, Informative)
This term comes from the Perl development community, but has been sighted elsewhere. It derives from a stuffed-toy pumpkin that was passed around at a development shop years ago as the access control for a shared backup-tape drive.
Time for Berl? (Score:1)
Maybe it is time to dump Perl and start designing Berl = the Beautyfull Extraction and Reporting Language
Re:Time for Berl? (Score:4, Interesting)
Frankly, Ruby has a lot of promise. I've been toying with it, and it feels like a pretty good compromize between java and perl.
Re:Time for Berl? (Score:4, Interesting)
At Yet Another Perl Conference [yapc.org] this year there was a book auction [perl.org] to raise funds for Perl development. Tons and tons of O'Reilly, Manning, and other books, and not just Perl books. It was interesting to see where the interests lay. There were plenty of wisecracks and groans for Java, Python, and PHP books. (I picked up Learning Python for $10.) Interestingly enough, there was intense interest in the Ruby books, and no wisecracks. Went for a higher than average price, I believe.
Thread Question (Score:1)
Does this mean when you use fork() you must define a variable as global? I didn't think it was possible to declare a variable as global other than a "$var = 0". Also, does any one know if after forking how would a child return a variable to the parent?
Request (Score:5, Insightful)
It seems to be the case that the perl language has actually evolved a bit since 5. I am continually finding out about "new" features in Perl that i were not aware were there (invariably, the only ones that make a difference to me are the extentions to the Regexp system: there seems to be a whole class of (?X) operators that are not in my copy of the perl book).
Is there anywhere that summarizes the various changes to perl since version 5? there are the perldoc perldelta documents (here is the perldelta document for 5.8.0 [perl.org]). However, these are complete, technical changelogs, and cover everything from language changes to small inconsistency smoothings to changes to obscure library functions to bugfixes in internal perl functions. Moreover, they do an even poorer job of explaining the consequences to the coder of things like (?>) than the perldocs
Really, now that i think about it, i guess what i would like is a summary of what they've done to the regexps since version 5.0
If no such document exists, maybe someone can write one and post it on PerlMonks [perlmonks.com]
- super ugly ultraman
Re:Request (Score:4, Informative)
Some problems are features :-) (Score:2)
I never liked autovivified hash elements in the first place. It's such a pain in the butt to put a if (exists $hash{index}) before trying to access everything if I don't want autovivification. Don't take this as a slam against Perl, I love the language and the concepts, but there are a couple little nooks and crannies that ought to somehow be fixed. I say "somehow" because to do it with backwards compatiblity may be impossible.
Cocoa bindings... (Score:2, Interesting)
Re:Cocoa bindings... (Score:4, Informative)
Time to upgrade? (Score:2)
Worthy upgrade? (Score:2)
Most of what I do is basic anyhow...so from what I've read, I'm not sure its worth an upgrade at this point. I don't think my projects would benefit that terribly much from it.
Easy upgrade (Score:2, Informative)
perl -MCPAN -e 'install J/JH/JHI/perl-5.8.0.tar.gz'
Re:Easy upgrade (Score:5, Informative)
That should probably be:
perl -MCPAN -e 'install perl-5.8.0.tar.gz'
NOT WORKING, please mod the working install up. (Score:5, Informative)
( perl -MCPAN -e 'install perl-5.8.0.tar.gz' )
Uh, none of these comments are about the story (Score:4, Insightful)
Arguments about programming languages on this level are pointless beyond belief. It's like arguing which pop band is better than another. Who cares? It's all opinion and hearsay.
ActiveState (Score:3, Interesting)
I run the scripts on Linux, but I do my coding on a WinAMD machine.
Re:ActiveState (Score:4, Informative)
RedHat Limbo (Score:1)
Math class (Score:1)
Math class (Score:3, Funny)
Regarding Perl Criticisms... (Score:5, Insightful)
First off, let me state that choice of programming language isn't a reflection of the abilities of a developer.
I've seen dedicated, talented developers produce great apps with Perl, Python and even (gasp!) pre-.NET Visual Basic. On the other hand, I've seen careless, uninterested developers produce mounds of pure, unadulterated crap with C++.
The language used has little to do with the quality of thefinal result, and has a lot more to do with the person coding with it.
The language used for a product often isn't even up to the developer. Employers and clients mandate a language as often as not, sometimes for valid reasons, sometimes for moronic reasons ("The CEO plays golf with this dude who told him that using Java is gonna save big bucks").
Let's look at three factors we can use when comparing languages: Performance, Development Effort Required, and Maintainability.
C++ is a great language in experienced and knowing hands. When well-done its performance is good but it tends to be very effort-intensive.
Perl and other very high-level languages are less effort-intensive, but they have a corresponding performance trade-off.
Java and .NET languages are somewhere between the two, though they both seem closer to C++ on the scale than they are to VHL languages.
The maintainability of a language seems weakly related to individual languages. Most of the maintainabilty qualities of a product will spring from the all-too-often overlooked Planning, Design, and Discipline of the developers that worked on it!
I'll allow that Perl can really let you shoot yourself in the foot as far as maintainablity goes, but what languages aren't like this? Especially beloved C++?
Binary Incompatibility (Score:2)
Does anybody get Socket Problems on Solaris 8? (Score:1, Interesting)
A while back sockets under perl 5.6.0 stopped working on all of our Sun Solaris 8 systems. I tried recompiling it, 5.6.1, and 5.8.0rc2 (I plan on trying perl 5.8.0 final soon), but all of them fail on the socket tests, which include:
- lib/io_multihomed..Protocol not supported at lib/io_multihomed.t line 83.
- lib/io_sock........Protocol not supported at lib/io_sock.t line 37.
- lib/io_udp.........Protocol not supported at (maybe your system does not have a localhost at all, 0.0.1) at lib/io_udp.t line 60.
(Note: We do have localhost defined in our host table).It was a while before we noticed the error so I do not know what could have changed on our system to cause this problem. The only thing I can think of it being is that we patch all our systems between the time it last worked and when it did not. I did note that one of our installed Solaris patches is 111327 which does replace the socket libraries. We recently got a new SunBlade 2000 Workstation and I tried it again on it, and it too has the problem. It came prepatched and includes 111327 amongst many others. I have yet to try taking that patch off (mostly because of the logistics involved in removing one of our active Sun off the network for the test, and I am not willing to take a security patch off our system with it on the network).
This is not the same as noted in PerlFAQ 8, though I guess somebody at Sun could have deceided to change the Protocol numbers again, but I think it unlikely. I even went as far as modifying the test routines to add "use Sockets;", but no help.
Also, where can one submit and view bugs reports for Perl?
Re:Will it enforce readable code? (Score:5, Insightful)
Re:Will it enforce readable code? (Score:2, Interesting)
The fundamental point of perl is its a quick way to write one-off scripts to do quick repetitive jobs - therefore maintainable code is not necessary. I accept there are other times when it needs to be readable tho...
Re:Will it enforce readable code? (Score:4, Insightful)
I think it's easy enough to write readable code in perl, the great thing is that you have the option of writing horribly unreadable code to do in 3 lines what it would otherwise take 10 to do.
Re:Will it enforce readable code? (Score:4, Insightful)
I could not disagree more. I keep a copy of all interesting scripts I write. I often give them to friends or peers. In addition, I may not look at a saved script for some time in the future. Well written, documented code is key to being able to remember just what it was that you were doing and communictating these ideas effectively with others.
Re:pumpkin pumpkin whos got the pumpkin (Score:1, Interesting)
RESOLUTION:
The following three commands will correct the above issue by removing
the current Storable and replacing it with a recompiled version. These
commands must be executed as the superuser. After these commands are
executed the aforementioned issue will be resolved.
mv
mv
fink rebuild storable-pm
It IS first necessary to do the mv's, before the rebuild, since fink is
a perl script that explicitly adds
the behavior mentioned above.
You will need to execute the above commands for every XS module that
is contained within
Re:pumpkin pumpkin whos got the pumpkin (Score:5, Informative)
This is David Corbane the fink developer over at Apple.
I just wanted to give this warning, since the post above seem to be a well constructed trolling.
Fink is an apt-get (Debian) application for packagemanagement on Apple OS X platform. It works just like apt-get.
The three lines given above would not solve any of the issues, rather this would launch your workpod into a highly unstable state, since perl is used extensively within OS X.
Fink manages aplications outside the base installation of OS X and no third party package mangement should in any way bother with base OS X applications.
If you try the above, you will not be able to run any sort of cron applications (which are run by default and most of which involve perl scripts).
Also doing this removes some glue security bindings that are controlled by perl.
Please be aware that fink is only used outside the base system of OS X and the first two lines of the code above are deceptive and highly dangerious.
Please write me if you need any more info.
dmcorbane@corp.NOSPAM.apple.com
Re:Yay! (Score:2, Informative)
No. It was released today. You're thinking of the last Release Candidate which was released on Monday.
Re:Will it enforce readable code? (Score:3, Funny)
"A Perl script looks like an explosion in an ASCII factory"
I know I saw it on
whitespace-is-syntax (Score:2)
I also found Python conciderably more opaque than Ruby, although I strongly suspect that had more to do with the documentation I found on it than anything else.
That most of the examples of Python apps I looked at were pretty messy didn't really help either
Unfortunately for Python, Ruby's filled my requirement for a clean dynamic language; I expect my next language to be more along the lines of SmallTalk or Lisp. Python just doesn't look that interesting anymore
<eagarly awaits a flood of examples and docs that'll make me change my mind and fall in love with it>
Re:Which is better? Perl or HTML? (Score:2, Informative)
HTML and Perl are two completely different things. HTML is a way of representing (textual) data, while Perl is a way of processing and/or creating data.
Re:Call me an idiot but.... (Score:2)
Re:TROLL! (Score:1, Interesting)
TMTOWTDI!
Re:Call me an idiot but.... (Score:1, Informative)
There have been periodic postings on slashdot of design documents describing how perl 6 will function. This is probably what you rememebr seeing.
Do you speak Esperanto? (Score:2)
Where you see piled-on hacks, I see evolution at work. Perl is richly expressive, and allows you to code in whatever style works best for the task at hand, rather than trying to force the solution-space of the problem into the modeling-space of the language.
That's why Java and other B&D languages suck so badly - they trade flexability for orthadoxy.
But spoken languages have proven to be stubbornly resistant to the imposition of bondage and discipline in the name of "simplicity", and attempts at creating new, simpler spoken languages from scratch - like Esperanto - have failed miserably. The parallel with programming language should hold true as well. What is a programming language but a way of communicating with your computer, your users, and other programmers?
It should be at least as expressive as your spoken tongue, not less.
"A foolish consistancy is the hobgoblin of little minds" and nothing illustrates that point better than a discussion of Perl by those who don't actually use it.
DG
Re:Pseudohashes? (Score:2, Informative)
Yes, pseudohashes are deprecated in Perl 5.8.0. They will be removed completely in Perl 5.10.0.
Re:Will perl ever compile? (Score:1)
Visual Basic compiles to C?
Re:Will perl ever compile? (Score:3, Informative)
Yes, it will -- starting with Perl 6.0. This is a complete rewrite that compiles to a bytecode called Parrot by default. You can compile Parrot bytecode into binary, or almost anything.
Re:finally (Score:1)
Re:Unicode? (Score:1)
Oh no, we wasted our time! Our boss, Mr. Anonymous Coward doesn't like what we did! He'll fire us for sure! Quick, porters, let's rip out all of the things we wanted to work on for our own projects, and let this brave, kind soul show us the way!
Oh wait, you're talking about PERL [cpan.org] I work on Perl. My mistake, sorry.
Re:Pseudohashes? (Score:1)
$depreciate = "decline in value";
:)
$deprecate = "recommend against using";
if($deprecate != $depreciate) {print "Not the same word!\n";}
BCE
--Your punctuation skills are insufficient!
Re:finally (Score:2)
Why do you need to urge others to do the same? use the right tool for the right job.. it's that simple.