[Chicago-talk] Fwd: Perl MySQL question

Richard Reina gatorreina at gmail.com
Mon Mar 30 05:56:19 PDT 2015


Hey Everybody,

Thanks for all the replies.  Looks a little overwhelming but I will get to
studying and see if I can find my way. I'm sure I'll be back with more
questions but thanks again for all the ideas.

Richard

2015-03-26 15:38 GMT-05:00 Joel Berger <joel.a.berger at gmail.com>:

>
> On Mar 26, 2015 10:53 AM, "Jim Thomason" <jim at jimandkoka.com> wrote:
> >
> > I'd say that using Catalyst or any other MVC framework (my camp in this
> religious debate would be Mojolicious) is way overkill, especially for an
> initial simple pass. If you just want to get something braindead simple up
> and running lightning fast...
> >
>
> I have to strongly disagree.
>
> > 1) Get some sort of web server installed and configured.
> apache/nginx/one of the myriad perl servers, whatever. Ask your friendly
> local sysadmin for help and/or suggestions, if necessary. And as always, be
> concerned about security if this is public facing.
>
> Mojolicious or the PSGI compliant frameworks don't need any special
> servers, just modules which either come bundled or are installable from
> cpan.
>
> >
> > 2) Enable CGI in some manner - this is usually either enabling scripts
> in a certain directory, or things with a .cgi extension to be executable.
>
> Configuring CGI is painful, the above servers should "just work".
>
> >
> > 3) your cgi script is more or less the same as a command line script. If
> you're going to output just plain text (as you would have if you were
> sending to the screen or piping it to a file), just add this to the top:
> >
> > print "Content-type: text/plain\n\n";
> >
>
> Whaaaa? Why print your own headers? That's what frameworks are for!
>
> > And you're done. That'll spit it out to the web and it'll look exactly
> the same as if you were sending it to a file. HTTP communication is really
> easy if you skirt a few of the rules - it really just needs a Content-type
> header so the browser knows the type of data it's receiving. There's more
> that you -should- do, and I don't suggest you do the above as a production
> run, but to get your feet wet and up and going, this'll have you spitting
> out text to the browser in under an hour.
>
> A mojolicious "hello world" is right on the main site and work need to be
> modified very little to make work in the manner you suggest. If it takes
> you an hour you might be doing it wrong.
>
> >
> > ...and now that the simple start up pleasantries are out of the way...
> >
> > First of all, you need to worry about security - make sure that the user
> can't send in arbitrary SQL queries to your server, ESPECIALLY if it's not
> firewalled off for only authorized users. The last thing you'd need is an
> open arbitrary SQL gateway that allows any black hat to come in and run an
> insert/update/drop table/alter table statement. This task is potentially
> non-trivial, but at a minimum, don't write it to accept arbitrary SQL from
> the browser.
> >
> > The CGI module is pretty popular for the IO requirements here. There are
> myriad other derivatives - CGI::Lite, CGI::Minimal, etc. Use whatever's
> handy. That'll give you better header handling, and simpler processing for
> reading in options passed by the user.
> >
> > Next, to pretty it up, templating libraries like Text::Template or
> HTML::Template can help layout an interface for you.
> >
> > You may need login/user capabilities. You can do that with CGI and
> templating yourself, but it's a lot of infrastructure you need to set up.
> One of the frameworks may be more useful for you at this point.
> >
> > Nowadays, it's also very trendy to have your web front ends be
> javascript apps that handle all the layout and interface, and your
> communication back and forth to the server is all done by handing JSON
> objects or XML. So you might want to look into that as well. On the one
> hand, it makes the web front end more complicated and brings in different
> languages, but on the other it can keep the server side a lot simpler if
> you're only handing data structures back and forth to the client and
> letting the client side handle all the interaction.
> >
> > -Jim...
>
> Nothing personal, but cgi is really passe. Joel
>
> >
> >
> > On Thu, Mar 26, 2015 at 9:30 AM, Alan Mead <amead2 at alanmead.org> wrote:
> >>
> >> Richard,
> >>
> >> I think that most people will tell you to use a web-based framework and
> some of them are optimized for this.
> >>
> >> But it's pretty simple to create a single-page CGI that displays some
> data and there are many examples available online.  I find HTML::Template
> to have a fairly easy interface for creating HTML tables from DBI queries.
> Probably a key issue is how much other infrastrcture you need.  For
> example, if people need to login, that's going to make a simple CGI a bad
> idea.
> >>
> >> -Alan
> >>
> >>
> >>
> >> On 3/26/2015 8:59 AM, Richard Reina wrote:
> >>>
> >>>
> >>> ---------- Forwarded message ----------
> >>> From: Richard Reina <gatorreina at gmail.com>
> >>> Date: 2015-03-26 8:15 GMT-05:00
> >>> Subject: Perl MySQL question
> >>> To: chicago-talk at pm.org
> >>>
> >>>
> >>> Hello All,
> >>>
> >>> What would be the easiest way to display query results from a MySQL
> database -- running on a Debian machine -- onto a webpage. What I would
> like is to allow a user to log in and be able to do a few simple queries. I
> know enough perl and SQL to write the queries via perl->DBI but I have
> never done any web programing. What I mean is that I have written a lot of
> perl programs that query databases and display the results on a console
> screen via curses but never displayed results onto the www. I'm guessing
> that I might need to install Apache but really have no clue beyond that.
> >>>
> >>>
> >>> PS It does not have to be anything fancy.
> >>>
> >>> Any help would be greatly appreciated.
> >>>
> >>> Richard
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Chicago-talk mailing list
> >>> Chicago-talk at pm.org
> >>> http://mail.pm.org/mailman/listinfo/chicago-talk
> >>
> >>
> >> --
> >>
> >> Alan D. Mead, Ph.D.
> >> President, Talent Algorithms Inc.
> >>
> >> science + technology = better workers
> >>
> >> +815.588.3846 (Office)
> >> +267.334.4143 (Mobile)
> >>
> >> http://www.alanmead.org
> >>
> >> Announcing the Journal of Computerized Adaptive Testing (JCAT), a
> >> peer-reviewed electronic journal designed to advance the science and
> >> practice of computerized adaptive testing: http://www.iacat.org/jcat
> >>
> >>
> >> _______________________________________________
> >> Chicago-talk mailing list
> >> Chicago-talk at pm.org
> >> http://mail.pm.org/mailman/listinfo/chicago-talk
> >
> >
> >
> > _______________________________________________
> > Chicago-talk mailing list
> > Chicago-talk at pm.org
> > http://mail.pm.org/mailman/listinfo/chicago-talk
>
> _______________________________________________
> Chicago-talk mailing list
> Chicago-talk at pm.org
> http://mail.pm.org/mailman/listinfo/chicago-talk
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/chicago-talk/attachments/20150330/513f84fe/attachment.html>


More information about the Chicago-talk mailing list