Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^4: Can't locate strict.pm in @INC (@INC contains: .)

by Weiling (Novice)
on Oct 31, 2019 at 13:20 UTC ( [id://11108174]=note: print w/replies, xml ) Need Help??


in reply to Re^3: Can't locate strict.pm in @INC (@INC contains: .)
in thread Can't locate strict.pm in @INC (@INC contains: .)

Alleluia! I finally uninstall Strawberry 5.30 and reinstall ActivePerl 5.28, and it works! Have to find how to update the perllib and it will be OK! Bug thanks to all of you for the help! i'm really gratefull!

EDIT: Ouch... not so perfect.. I just try to install a module on cpan (without internet), and i have a error message...

PS E:\data\Perl\script\modulecpan\DBD-mysql-4.050> perl .\Makefile Backslash found where operator expected at .\Makefile line 39, near "W +INDOWS\" Backslash found where operator expected at .\Makefile line 39, near "s +ystem32\" Semicolon seems to be missing at .\Makefile line 51. Warning: Use of "-s" without parentheses is ambiguous at .\Makefile li +ne 52. String found where operator expected at .\Makefile line 52, near "L"E: +\Outils_Exploit\Strawberry\perl\lib\CORE"" String found where operator expected at .\Makefile line 52, near "L"E: +\Outils_Exploit\Strawberry\c\lib"" Warning: Use of "-s" without parentheses is ambiguous at .\Makefile li +ne 53. String found where operator expected at .\Makefile line 53, near "L"E: +\Outils_Exploit\Strawberry\perl\lib\CORE"" String found where operator expected at .\Makefile line 53, near "L"E: +\Outils_Exploit\Strawberry\c\lib"" Semicolon seems to be missing at .\Makefile line 58. Backslash found where operator expected at .\Makefile line 60, near "O +utils_Exploit\" Backslash found where operator expected at .\Makefile line 60, near "S +trawberry\" Backslash found where operator expected at .\Makefile line 60, near "p +erl\" Backslash found where operator expected at .\Makefile line 60, near "s +ite\" Backslash found where operator expected at .\Makefile line 61, near "O +utils_Exploit\" Backslash found where operator expected at .\Makefile line 61, near "S +trawberry\" Backslash found where operator expected at .\Makefile line 61, near "p +erl\" Backslash found where operator expected at .\Makefile line 61, near "s +ite\" Backslash found where operator expected at .\Makefile line 63, near "O +utils_Exploit\" Backslash found where operator expected at .\Makefile line 63, near "S +trawberry\" Backslash found where operator expected at .\Makefile line 63, near "p +erl\" Backslash found where operator expected at .\Makefile line 63, near "v +endor\" Backslash found where operator expected at .\Makefile line 64, near "O +utils_Exploit\" Backslash found where operator expected at .\Makefile line 64, near "S +trawberry\" Backslash found where operator expected at .\Makefile line 64, near "p +erl\" Backslash found where operator expected at .\Makefile line 64, near "v +endor\" Can't modify constant item in scalar assignment at .\Makefile line 39, + near "C:" syntax error at .\Makefile line 39, near "C:" Unknown regexp modifier "/O" at .\Makefile line 69, at end of line Unknown regexp modifier "/t" at .\Makefile line 69, at end of line Regexp modifiers "/u" and "/l" are mutually exclusive at .\Makefile li +ne 69, at end of line Unknown regexp modifier "/_" at .\Makefile line 69, at end of line Unknown regexp modifier "/E" at .\Makefile line 69, at end of line Regexp modifiers "/u" and "/l" are mutually exclusive at .\Makefile li +ne 69, at end of line Unknown regexp modifier "/t" at .\Makefile line 69, at end of line Unknown regexp modifier "/e" at .\Makefile line 69, at end of line .\Makefile has too many errors.
Seem's he look on a previons path where it was installed

Replies are listed 'Best First'.
Re^5: Can't locate strict.pm in @INC (@INC contains: .)
by pryrt (Abbot) on Oct 31, 2019 at 16:13 UTC

    That error shows there's still a copy of Strawberry Perl somewhere. Specifically, in E:\Outils_Exploit\Strawberry. That appears to be in your path before the active state perl you're trying to run. As davido said directly, and others have strongly hinted, whichever perl is first in your path is the one that will run.

    A good way to find out when you have multiple executable programs of the same name in your Windows path is to use the builtin where. With my path as currently set, I only have one perl.exe visible, but there are two copies of find.

    C:\usr\local\share\PassThru\perl>where perl c:\usr\local\apps\berrybrew\perls\system\perl\bin\perl.exe C:\usr\local\share\PassThru\perl>where find C:\Windows\System32\find.exe c:\usr\local\bin\find.exe
    As such, when I run perl, it will run that one copy. But if I run find, the copy in c:\windows\system32 will take priority. If you run something similar for where perl, or where cpan, or where cpanm, or where ppm, you might see more than one instance of one or more of those. You then need to make sure that the correct perl is coming first in the path, as well as the correct helper utilities (like whatever you use for downloading and installing modules)

    Further, Makefile is not a perl script, so perl Makefile is trying to run a set of rules that "make" (or similar) would want with the perl interpreter, which isn't going to work right. The normal idiom is

    perl Makefile.PL make make test make install
    , where Makefile.PL is a perl script that creates the Makefile for make to run, and make might be dmake or gmake instead, depending on your perl version and whether it's ActiveState or Strawberry or something else. Once you've got the right perl in your path, run perl -V:make to find out which make utility you should use.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11108174]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (4)
As of 2024-04-24 07:52 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found