in reply to Re: Doomsday algorithm
in thread Doomsday algorithm

Hello QuillMeantTen,

Thanks for drawing attention to the Doomsday algorithm, it looks interesting.

Given that your code was written as a learning exercise, I will highlight one aspect that stands out as a problem: the use of subroutine prototypes.

First, Perl prototypes don’t function as a programmer coming from C or Java might expect them to, and they’re mostly unneeded anyway. This is explained at length in Tom Christiansen’s article “Far More Than Everything You’ve Ever Wanted to Know about Prototypes in Perl,” which is reprinted as a PerlMonks tutorial here.

But, second, none of the subroutine prototypes in your code is ever actually used — because the & sigil prepended to a subroutine call disables them! See perlsub#Prototypes. Unless you have a good reason to disable prototypes, you should call a subroutine like this:

frobnicate();

and not like this:

&frobnicate;

The latter form is seen mainly in legacy code dating from Perl’s earlier days.

Update: Fixed typo.

Hope that helps,

Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

Replies are listed 'Best First'.
Re^3: Doomsday algorithm (prototypes)
by QuillMeantTen (Friar) on Sep 06, 2015 at 21:15 UTC

    Well sir I thank you very much for your comment and shall start reading at once!
    To be honest I once saw that way of writing subs and decided to use it because it reminded me of C and made subs somewhat easier to understand (like, from the first line I know what kind of parameters this sub wants).
    I honestly hadn't the foggiest regarding the depth of their role and will start plumbing it right away.