Hi monks,

I'm trying to use FCGI with CGI::Fast to get the params from the url. My fcgi script is named test.fcgi and I tried accessing it from my browser as test.fcgi?node=appy&action=do_something.

While I'm able to get the value of 'node' in the variable $query, the code doesn't seem to call do_something() that comes from the module Myapp.

####start of script test.fcgi #!/usr/bin/perl -T use lib '/path_to_modules/perl5/lib/perl5'; use lib '/path_to_modules/modules'; use FCGI; use CGI::Fast; use Myapp qw(appy); my $n = 0; my %nodes = ( appy => \&appy, _err => \&error, ); while ( my $q = new CGI::Fast ) { my $query = $q->param('node'); print "Content-type: text/plain\n\n"; ++$n; print "You are request number $n. Have a good day!\n"; print "query: $query\n"; $nodes{ exists $nodes{$query} ? $query : '_err' }(); print "done!\n"; } sub error { print "An error occurred.\n"; } ####end of script test.fcgi ####Myapp module package Myapp; use strict; $|++; use Exporter qw(import); our @EXPORT = qw(appy); use CGI; my $q = CGI->new(); sub appy { my $action = $q->param('action') || 'bailout'; my %actions = ( do_something => \&do_something, ); $actions{ exists $actions{$action} ? $action : '_err' }(); } #---------------------------------- # subroutine do_something #---------------------------------- sub do_something { print "do something called\n"; } ####End Myapp module

Am I doing things correctly?


In reply to Getting query string with CGI::Fast by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.