in reply to Re: Bareword "SCALAR" not allowed while "strict subs" in use at C:/Perl/site/lib/DateTime/Locale.pm line 41.
in thread Bareword "SCALAR" not allowed while "strict subs" in use at C:/Perl/site/lib/DateTime/Locale.pm line 41.

All other module I downloaded from CPAN site are installed using following syntax.
perl makefile.pl
dmake
dmake install

but the Params-Validate-0.95 modile dont have makefile.pl but there is build.pl so I run this file. I have the Validate.pm file located at C:\Perl\site\lib\Params folder in my machine. Also you mention "Do you have Params::Validate in your path?".. does this mean I have to update environment variable with some value.. and with what value?


Please help
  • Comment on Re^2: Bareword "SCALAR" not allowed while "strict subs" in use at C:/Perl/site/lib/DateTime/Locale.pm line 41.

Replies are listed 'Best First'.
Re^3: Bareword "SCALAR" not allowed while "strict subs" in use at C:/Perl/site/lib/DateTime/Locale.pm line 41.
by kennethk (Abbot) on Aug 17, 2010 at 19:57 UTC
    What happens when you run the following script?

    #!/usr/bin/perl use strict; use warnings; use Params::Validate qw( validate validate_pos SCALAR ); print SCALAR, "\n";

    And this one?

    #!/usr/bin/perl use strict; use warnings; use DateTime::Locale; print "1\n";
      When I run the first code I got following error message --
      I save this code with name test.pl

      Name "main::SCALAR" used only once: possible typo at test.pl line 6.
      print() on unopened filehandle SCALAR at test.pl line 6.

      And when I run another piece of code that time I got same error which is a subject line of this thread.
        Did you copy and paste the code? Because it sounds like you missed a comma. (i.e. you have print SCALAR "\n"; in place of print SCALAR, "\n";). If not, your copy of Params::Validate was not correctly built. I just downloaded v0.95 from CPAN and have no problem, using the pure Perl version. You may wish to try downloading the tarball from http://search.cpan.org/CPAN/authors/id/D/DR/DROLSKY/Params-Validate-0.95.tar.gz, expanding it and copying Params-Validate-0.95/lib/Params/Validate.pm and Params-Validate-0.95/lib/Params/ValidatePP.pm into C:\Perl\site\lib\Params, deleting ValidateXS.pm and Validate.xs while you are there. Once this is done, try the script again.