Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^6: Use CGI to run a Perl script via web server (updated)

by suvajit123 (Initiate)
on May 26, 2017 at 06:28 UTC ( [id://1191270]=note: print w/replies, xml ) Need Help??


in reply to Re^5: Use CGI to run a Perl script via web server (updated)
in thread Use CGI to run a Perl script via web server

The code fails with 500: Internal Server Error. But if I don't use IPC::System::Simple and Net::LDAP, then it works fine.

About reading the variable $sso, it is reading from CGI but unless used a shift flag it cannot be parsed into the Perl api further. I hope this could have been done by METHODS "GET" or "POST" as well, but unfortunately I am not sure how to use those in this scenario.

As always, thanks for the insights.

  • Comment on Re^6: Use CGI to run a Perl script via web server (updated)

Replies are listed 'Best First'.
Re^7: Use CGI to run a Perl script via web server (updated)
by poj (Abbot) on May 26, 2017 at 06:37 UTC

    Try this simple form entry CGI. If this works add your real code into the subroutines

    #!/usr/bin/perl use strict; use CGI; use CGI::Carp 'fatalsToBrowser'; # remove when finished testing use Net::LDAP; use IPC::System::Simple qw(system capture); # input # create CGI query object to get the SSO from URL my $q = new CGI; my $sso = $q->param( "sso" ); $sso =~ s/[^0-9]//g; # remove non digit # process my $msg; if ($sso){ # check LDPA my @entries = search_LDAP($sso); if (@entries == 1){ $msg = process_sso($sso,$entries[0]); } else { $msg = qq!<h2 style="color:red">ERROR: Wrong SSO [$sso] or User do +es not exist in OneAD LDAP </h2>!; } } else { $msg = q!<h2 style="color:red">ERROR : parameter sso is empty</h2>!; } # html page print $q->header(),$q->start_html('Application Management System'); print $msg; print qq!<hr/><form action="" method="post"> SSO : <input type="text" name="sso" value="$sso"/> <input type="submit"/> </form>!; print $q->end_html; sub search_LDAP { my $sso = shift; return ('test') } sub process_sso { my ($sso,$usr) = @_; my $msg = "<h2>Processing SSO $sso</h2>"; return $msg; }
    poj

Log In?
Username:
Password:

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

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

    No recent polls found