[Chicago-talk] Fwd: Perl MySQL question

Richard Reina gatorreina at gmail.com
Mon Mar 30 06:31:24 PDT 2015


Alan, thanks for the tip. What if I were to use dreamweaver to create the
HTML part? Would that make things easier for me?

2015-03-30 8:24 GMT-05:00 Alan Mead <amead2 at alanmead.org>:

>  Richard,
>
> In my earlier reply, I should have emphasized a point:  if you decide to
> write a CGI, you'll be using Perl (and you'll need to learn a bit about how
> Apache works).  If you choose a framework, then you will probably be
> working with that framework or with smaller amounts of Perl to manipulate
> the objects of that framework.   In other words, Perl isn't the most
> important area of expertise for a framework; in order to get advice about a
> framework, you'd do better to ask folks who use that framework.
>
> And if you are using a framework, then I recommend you start by installing
> the framework on the server or a comparable server; there is no point in
> studying a framework unless you have it to play with and you may find
> differences in how easily you can install these frameworks.  Once you have
> one installed, then I'd see if there's a book available for it (even if
> it's somewhat out-of-date).  The kind of thing you're doing, is pretty
> common.
>
> If you decide to go the CGI route, you could start with this old book:
> http://www.oreilly.com/openbook/cgi/ch09_03.html , but I would fill in
> the table using HTML::Temlplate:
> http://search.cpan.org/~wonko/HTML-Template-2.95/lib/HTML/Template.pm#TMPL_LOOP
> . Or, you could find many examples online:
> http://www.google.com/search?q=perl+CGI+present+SQL+data+table+example,
> like this one:
> http://www.easysoft.com/developer/languages/perl/tutorial_data_web.html
>
> -Alan
>
>
> On 3/30/2015 7:56 AM, Richard Reina wrote:
>
>  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
>>
>
>
>
> _______________________________________________
> Chicago-talk mailing listChicago-talk at pm.orghttp://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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/chicago-talk/attachments/20150330/5a85309b/attachment-0001.html>


More information about the Chicago-talk mailing list