http://www.perlmonks.org?node_id=1187468


in reply to Re^5: global var
in thread global var

I had tried that first but will try gain.

In manageuser Removed EXPORT of LoggedON_user_id

my $username1 = $session->param("user_id"); warn("username1 : '$username1'");

Error Log manageusers

Already logged on LoggedOn_user_id : '428' at /home/jalamior/www/httpsdocs/cgi-bin/lib/perl/manageusers.pm line 287. username1: '428' at /home/jalamior/www/httpsdocs/cgi-bin/lib/perl/manageusers.pm line 290.

and

$LoggedOn_user_id = $username1; warn("Already logged on LoggedOn_user_id : '$LoggedOn_user_id'");

And the error log

Already logged on LoggedOn_user_id : '428' at /home/jalamior/www/httpsdocs/cgi-bin/lib/perl/manageusers.pm line 287

So the desired value is present in the variable in manageusers

In calling unit, changed import use manageusers; Commented out qw(LoggedOn_user_id);

Line 66 in calling unit.

$userid_1 = $manageusers::LoggedON_user_id;

warn("userid : '$userid_1' ");

Error Log line 66

Sat Apr 8 06:54:25 2017 update_tables-development.cgi: Use of uninitialized value in concatenation (.) or string at update_tables-development.cgi line 66. userid : '' at update_tables-development.cgi line 66.

Don't know where else to look

Replies are listed 'Best First'.
Re^7: global var
by poj (Abbot) on Apr 08, 2017 at 12:45 UTC
    $userid_1 = $manageusers::LoggedON_user_id;

    Is that really line 66 of the cgi ? to work it needs to be

    $userid_1 = $manageusers::LoggedOn_user_id;
    to match the name in manageusers.pm

    Update : Try this simplest of test script alongside update_tables-development.cgi with your existing manageuser module.

    1) Change the #!/usr/bin/perl line to whatever you use for your other cgi scripts. 2) Make sure the permissions are executable by the webserver. 3) Check the line endings are UNIX format (if that's what they need to be)

    #!/usr/bin/perl # moduletest.cgi use strict; use CGI ':standard'; use CGI::Carp 'fatalsToBrowser'; use manageusers qw($LoggedOn_user_id); my $now = scalar localtime; print header,start_html; print qq(<b>$now</b><pre> \$manageusers::LoggedOn_user_id = $manageusers::LoggedOn_user_id \$LoggedOn_user_id = $LoggedOn_user_id </pre>); print end_html;
    poj

      No, Typ when I wrote it on comment. Did no "paste"

      Change the #!/usr/bin/perlline to whatever you use for your other cgi scripts.

      Also incuded already use lib qw(/home/jalamior/www/httpsdocs/cgi-bin/lib/perl);

      2) Make sure the permissions are executable: They are

      Check the line endings are UNIX format (if that's what they need to be) How to check globally??

        What are you using to edit the scripts, Padre ? Which OS ?. Are scripts on lowesthosting server or your own localhost ?.

        If Padre, use View->Show Newlines. If they show CRLF then use Edit->Covert Line Endings-> EOL To Unix. They should now show LF.