in reply to standard perl routine

You have to tell perl to actually use the POSIX module. It's not enough to just put it in your @INC path, you have to specifically tell Perl to use it, as follows:

#!/usr/bin/perl use strict; use warnings; use POSIX; # This line loads the POSIX module and imports pow(). print pow( 2, 3 ); # See? Now it works.

By the way: my $number = pow( 2, 3 ); could be written like this instead: my $number = 2 ** 3;, and that wouldn't require the use of the POSIX module.


Dave

Replies are listed 'Best First'.
Re^2: standard perl routine
by rocketboy (Novice) on Apr 30, 2006 at 08:33 UTC
    But is there a way by which i can ,sort of autoload all the standard subroutines instead of individually specifying them.
      Since there is no agreement on what "all the standard subroutines" should contain, there is no way you can autoload them.

      Also it would be quite rare that you need "all the standard subroutines" (whatever they may be) in the same script.

      CountZero

      "If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

        Just to labour the point, I ran this code against the ./lib of the 5.8.8 source to get a rough idea of the number of subs in the core modules:

        use File::Find; find(\&wanted,'.'); print "Total = $counter\n"; sub wanted { if ($_ =~/(?:\.pl|\.pm)/) { open (my $fh,"<",$_) or die "$!"; while (<$fh>) { if ($_ =~/^sub\s+/){$counter++} } close $fh; } }

        It reported 5394 subs. Importing that lot could use a *lot* of RAM, and take a while to compile ;-)

        --------------------------------------------------------------

        "If there is such a phenomenon as absolute evil, it consists in treating another human being as a thing."
        John Brunner, "The Shockwave Rider".

        Can you spare 2 minutes to help with my research? If so, please click here