News for hackers. Stuff that matters.
Re:A little thing to love about Perl 6 and COBOL by tbrownaw on Wednesday February 04, 2015 @07:30PM (#9001027)
The only thing I don't like about Perl, is that it's a dynamic language and therefore unsuitable for large (as in, significantly longer than will fit on the screen at one time) programs. But "use strict;" helps with that, and apparently more recent versions (work has 5.8.8) allow subroutines to more easily declare a specific number of arguments.

I'm actually learning more of it right now, so I can clean up and modularize some of my scripts. Because my other options (ksh93, Progress 4GL, and maybe older versions of Java or C++) are even less suitable.

Re:A little thing to love about Perl 6 and COBOL by kbenson on Wednesday February 04, 2015 @07:54PM (#9001113)
If you haven't already, I highly suggest looking on metacpan.org for modules, and searching for highly rated[1] and recent ones. Things like Path::Tiny[2], Try::Tiny[3] and Function::Parameters[4] can make a huge difference in productivity and readability. Task::Kensho[5] is also useful for getting a good base set of medern modules to choose from for many tasks.

1: https://metacpan.org/favorite/leaderboard

2: https://metacpan.org/release/Path-Tiny

3: https://metacpan.org/release/Try-Tiny

4: https://metacpan.org/pod/Function::Parameters

5: https://metacpan.org/pod/Task::Kensho

Re:A little thing to love about Perl 6 and COBOL by tbrownaw on Thursday February 05, 2015 @08:58AM (#9003232)
I'll take a look at these, thanks. :)
Re:A little thing to love about Perl 6 and COBOL by muraiki on Wednesday February 04, 2015 @07:58PM (#9001130)
If you planned on using objects, you can consider using Moo for roles to allow composition, and combining it with Types::Tiny for type validation. There's also Params::Validate for plain functions.

The validation is unfortunately at runtime, but at least you get a clear error instead of unanticipated behavior. Moo (and it's bigger parent, Moose) can really help you structure your application better using roles.

https://metacpan.org/pod/Moo https://metacpan.org/pod/Type::Tiny

Edit: Don't use Params::Validate; kbenson's recommendation for Function::Parameters looks awesome!

Re:A little thing to love about Perl 6 and COBOL by eCa on Wednesday February 04, 2015 @08:58PM (#9001333)
There is also Kavorka[1] as an alternative to Function::Parameters, which can use Type::Tiny types in signatures. The next step after that is Moops[2]...

[1] https://metacpan.org/pod/Kavorka

[2] https://metacpan.org/pod/Moops

Re:A little thing to love about Perl 6 and COBOL by b2gills on Thursday February 05, 2015 @05:19PM (#9006535)
You may be able to get them to update to at least 5.18.0 if you tell them about CVE 2013-1667 and all the mitigations added to 5.18.0 to prevent them.

https://duckduckgo.com/?q=CVE+2013-1667&ia=about

http://blog.booking.com/hardening-perls-hash-function.html

I would also recommend reading "Modern Perl" which is made available for free by the publisher/author at http://modernperlbooks.com/

( Also there are large codebases written in Perl ( I beleive booking.com is an example )

I also recommend installing the Perl you are using outside of the system directories. You may also find Pinto and https://Stratopan.com useful for managing your dependancies. Which is especially useful if you make your codebase modular.

Re:A little thing to love about Perl 6 and COBOL by kstrauser on Wednesday February 04, 2015 @08:05PM (#9001153)
I've written Python systems several tens of thousands of lines long. I don't think dynamicity has anything at all to do with a language's suitability for large projects (but if it did, I'd lean toward it making maintenance easier).
Re:A little thing to love about Perl 6 and COBOL by Pamar on Wednesday February 04, 2015 @08:14PM (#9001192)
@tbrownaw... Do you mix Perl and Progress 4GL? Care to get in touch?
Re:A little thing to love about Perl 6 and COBOL by tbrownaw on Thursday February 05, 2015 @09:01AM (#9003241)
A little bit, yes. Contact info is in my profile now.