in reply to store the output of the request to the db - instead of printing

You're off to a good start. Make sure you install the DBD::mysql package, then you should be able to start using it. The DBI module is very popular, so you can easily find plenty of examples to help you out. Going off the top of my head, you'll be doing something a bit like:

use strict; use warnings; use DBI; my $DB = DBI::connect("connect string for your database", "user ID", " +password"); # Prepare a statement handle for your inserts my $STH = $DB->prepare("insert into mytable (col1, col2) values (?, ?) +"); while (<DATA>) { # Get your data my ($col1, $col2) = parse_line($_); # Now insert it into the database $STH->execute($col1, $col2); }

This example uses a prepared statement with placeholders (the ? marks) because:

Placeholders are just the ? marks, which have a one-to-one correspondence with the values you give the $STH->execute() function. Note that you can't use placeholders for table names or column names, just the values.

...roboticus

When your only tool is a hammer, all problems look like your thumb.

Update: spelling correction.

  • Comment on Re: store the output of the request to the db - instead of printing
  • Download Code

Replies are listed 'Best First'.
Re^2: store the output of the request to the db - instead of printing
by Anonymous Monk on Jun 11, 2014 at 17:17 UTC
    hello - well this is a very good and helpful post. Thank you roboticus - i love it!!!


    I personally love the style of teaching some ground up things in Perl..

    thanks for the good and in-depth-going explanation.
Re^2: store the output of the request to the db - instead of printing
by Anonymous Monk on Jun 11, 2014 at 17:31 UTC


    the answers are very convincing.the idea of you roboticus are great - the placeholders can be replaced with the output-values of the perl-module parse::cpan::authors the following: e-mail,
    name
    pauseid (whatever that is)

    print $author->email, "\n"; # leon@astray.com print $author->name, "\n"; # Leon Brocard print $author->pauseid, "\n"; # LBROCARD



    note - the columns of the database can be named as with the following: e-mail, name, pauseid (whatever that is)

      Those are all statements, not questions, yes?

      1. Are you the same Anon as the OP? 2. Are you the same anon who just replied to a node from 2005? 3. Have you been working on this for a while?

      If not, then please ignore this, but if you are, then: Please show some effort - show that you have read the documentation and tried writing your own code! Sorry, but making obvious statements and copy-pasting from documentation doesn't count. And, if you're willing to pay people for their time, you'll probably have more success doing that on one of the many "programmers for hire" sites (this isn't one of them) instead of re-posting the same questions in hopes of somebody eventually throwing you enough snippets or giving in and writing the code for you. Again, please show some effort.