
jroberson
Novice
Oct 14, 2008, 9:47 AM
Post #1 of 12
(683 views)
|
|
OpenDir Problem
|
Can't Post
|
|
Greetings. I am not an expert by any means. I have modified this script in order to parse data and insert into MySQL db. I have having problems with the OpenDir syntax. Any insight what the issue is, I would truly appreciate it. #!/usr/lib/perl use strict; use DBI; # Connect To Database my $db = "DB"; my $dsn = "DBI:mysql:database=$db;host=localhost;port=3306;mysql_read_default_file=/etc/mysql/my.cnf"; my $user = "root"; my $pass = "Pwd"; my $dbh = DBI->connect($dsn,$user, $pass, {'RaiseError' => 1}); # Retrieve and open file my $dir = "/home/Myfolder/" my opendir(DIR,$dir) || die "Folder not found: $!"; @files = grep (/\.nbe$/, readdir(DIR)); while (my $file = readdir (DIR)) { my $line = $_; if ($line =~/results/) # Only pull results from the nbe file. { our @values = split (/\|/, $line); # Only pull full results lines (not just posrtscan entries) if ($values[5] ne '') { my $SQL = "INSERT INTO ScanResults SET IP=' ".$values[2]."', Port='".$values[3]."', PluginID='".$values[4]."', Type='".$values[5]."', Description=".$dbh->quote($values[6]).""; print "$SQL\n"; my $sth = $dbh->prepare($SQL) or die "Cannot prepare statement: $DBI::errstr\n"; $sth->execute() or die "Cannot execute statement: $DBI::errstr\n"; $sth->finish(); } } } $dbh->disconnect (); close(DIR);
|