in reply to Re^2: Too many arguments for subroutine
in thread Too many arguments for subroutine

Don't use subroutine prototypes

Well...that begs the question...what are they included in the language?

As usual in Perl: compatibility with legacy code. Prototypes are OLD. They exist in the very first version of Perl 5 found on CPAN (5.002b3, https://metacpan.org/release/LWALL/perl5.002b3/view/pod/perlsub.pod#Prototypes), dated 1996-Feb-03, more than a quater century ago. At that time, prototypes seemed to be useful. And once a feature is included in Perl, it is extremely unlikely to be ever removed again.

I thought function prototypes already existed in Perl 4, but I could not find any documentation for them in the 5.001m sources (see Slackware 3.0 sources at http://ftp.gwdg.de/pub/linux/slackware/slackware-3.0/disk1/source/d/perl-5.001/perl5.001m.tar.gz, released in October 1995). Also, no traces of function prototypes in perl 4.036 (Slackware 2.3, http://ftp.gwdg.de/pub/linux/slackware/slackware-2.3/source/d/perl/perl-4.036.tar.gz, released June 1995).

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
  • Comment on Re^3: Too many arguments for subroutine

Replies are listed 'Best First'.
Re^4: Too many arguments for subroutine
by Bod (Parson) on Oct 21, 2023 at 23:57 UTC
    dated 1996-Feb-03, more than a quater century ago

    I started using Perl not long after that...if only I'd ventured into The Monastery earlier who knows where my coding would be...