Nice job.
Some comments on the implementation:
- If you don't want to prompt the user for username and password, it would be advisable to get them from a configuration file, instead of hardcoding them into the script. See this script for an example.
- You don't need to get the table columns to create an INSERT statement. If you are inserting all the fields, your insert can be either "INSERT INTO tablename (col1 col2 col3) VALUES ('a','b','c')" or "INSERT INTO tablename VALUES ('a','b','c')". Of course this statement is helpful if the order of columns changes, but on a regular case it isn't needed.
The
table structure can be created by adding this snippet:
# after printing the initial table comments
print $dbh->selectall_arrayref("SHOW CREATE TABLE $table")->[0][1],"\n
+";
Adding some parameters to let the user decide whether or not having this creation statement and maybe a DROP TABLE before it should be straightforward. Check
Getopt::Long for some help.
_ _ _ _
(_|| | |(_|><
_|