Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^3: Error Message - PL_perl_destruct_level at /usr/lib64/perl5/DynaLoader.pm

by Mr. Muskrat (Canon)
on Apr 28, 2016 at 16:16 UTC ( [id://1161787]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Error Message - PL_perl_destruct_level at /usr/lib64/perl5/DynaLoader.pm
in thread Error Message - PL_perl_destruct_level at /usr/lib64/perl5/DynaLoader.pm

This is because when I go to the Perl Module section of cPanel it states: "Using Your Perl Module(s) Your Perl script needs to know how to find the modules in your path. You can do this by adding one of the two choices below to the top of your script: #!/usr/bin/perl use cPanelUserConfig; or #!/usr/bin/perlml".

In your summary, item #3, I did not transfer any of the perl modules from the old server to the new. I only moved the webpage scripts and mysql database data. I am relying upon the install version of perl on the new server and all new installations of modules.

Okay, fair enough but your responses prompt more questions.

If cPanel installs modules where /usr/bin/perlml can find them, why did you modifying @INC in the BEGIN block? What is actually stored in the perl and perl5 subdirectory structures in /home/jeffer36?

  • Comment on Re^3: Error Message - PL_perl_destruct_level at /usr/lib64/perl5/DynaLoader.pm

Replies are listed 'Best First'.
Re^4: Error Message - PL_perl_destruct_level at /usr/lib64/perl5/DynaLoader.pm
by NorCal12 (Novice) on Apr 28, 2016 at 16:39 UTC

    On the new server, there is a perl folder and a perl5 folder. My original webpage script was pointing to the perl folder

    BEGIN { my $base_module_dir = (-d '/home/jeffer36/perl' ? '/home/jeffer36/ +perl' : ( getpwuid($>) )[7] . '/perl/'); unshift @INC, map { $base_module_dir . $_ } @INC;

    This produced an error because mysql.pm is located in perl5. So I added

    unshift @INC, '/home/jeffer36/perl5/lib/perl5','/home/jeffer36/perl5/lib/perl5/x86_64-linux','/home/jeffer36/perl5/lib/perl5/x86_64-linux/Bundle';

    It now finds mysql.pm but does not work.

      At least on my webserver with cPanel installation of perl modules, the documentation for installing perl modules (not sure if it's cPanel or ISP documentation) lists a 'use' statement that will set up the use-lib properly for where cPanel installs the modules. Let me go look it up:

      Your Perl script needs instructions to find the modules in your path.

      To do this, add one of the two choices below to the top of your script:

      #!/usr/bin/perl use cPanelUserConfig;

      - or -

      #!/usr/bin/perlml

      So, at least on my server, if I use the perlml version, it doesn't need the special include, but you might want to try the use cPanelUesrConfig; anyway (it may be that perlml is different on your cPanel than on mine).

      Where do the files in /home/jeffer36/perl5/ come from?

      What made them exist?

        All files either in /home/jeffer36/perl5 or in /home/jeffer36/perl came pre-installed with the new server or were installed by using the module install feature in cPanel on the new server.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others goofing around in the Monastery: (4)
As of 2024-04-19 00:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found