#### # !/usr/local/bin/perl -w BEGIN { my $base_module_dir = (-d '/home/bcnagle/perl' ? '/home/bcnagle/pe +rl' : ( getpwuid($>) )[7] . '/perl/'); unshift @INC, map { $base_module_dir . $_ } @INC; } use strict; use XML::Twig; use DBI; my $path; my $Product_ID; my $Updated; my $Quality; my $Supplier_id; my $Prod_ID; my $Catid; my $On_Market; my $Model_Name; my $Product_View; my $HighPic; my $HighPicSize; my $HighPicWidth; my $HighPicHeight; my $Date_Added; my $dbh= connect_to_db(); my $insert= $dbh->prepare( "INSERT INTO files (path, Product_ID, Upda +ted, Quality, Supplier_id, Prod_ID, Catid, On_Market, Model_Name, Pro +duct_View, HighPic, HighPicSize, HighPicWidth, HighPicHeight, Date_Ad +ded) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"); my $twig = new XML::Twig( twig_handlers => {indexfile => \$file} ); $twig->parsefile( "/file.xml" ); $twig->flush; # flush the end of t +he twig $dbh->disconnect(); exit; sub connect_to_db { my $driver = "mysql"; my $dsn = "DBI:$driver:database=database;"; my $dbh = DBI->connect($dsn, 'uname', 'pword', {AutoCommit=>1}); my $drh = DBI->install_driver($driver); return( $dbh); } sub indexfile { my($twig, $file) = @_; $path = $file->att( 'path'); $Product_ID = $file->att( 'Product_ID'); $Updated = $file->att( 'Updated'); $Quality = $file->att( 'Quality'); $Supplier_id = $file->att( 'Supplier_id'); $Prod_ID = $file->att( 'Prod_ID'); $Catid = $file->att( 'Catid'); $On_Market = $file->att( 'On_Market'); $Model_Name = $file->att( 'Model_Name'); $Product_View = $file->att( 'Product_View'); $HighPic = $file->att( 'HighPic'); $HighPicSize = $file->att( 'HighPicSize'); $HighPicWidth = $file->att( 'HighPicWidth'); $HighPicHeight = $file->att( 'HighPicHeight'); $Date_Added = $file->att( 'Date_Added'); $insert->bind_param( 1, $path); $insert->bind_param( 2, $Product_ID); $insert->bind_param( 3, $Updated); $insert->bind_param( 4, $Quality); $insert->bind_param( 5, $Supplier_id); $insert->bind_param( 6, $Prod_ID); $insert->bind_param( 7, $Catid); $insert->bind_param( 8, $On_Market); $insert->bind_param( 9, $Model_Name); $insert->bind_param( 10, $Product_View); $insert->bind_param( 11, $HighPic); $insert->bind_param( 12, $HighPicSize); $insert->bind_param( 13, $HighPicWidth); $insert->bind_param( 14, $HighPicHeight); $insert->bind_param( 15, $Date_Added); $insert->execute(); $twig->purge; }