#!/usr/bin/env perl #=============================================================================== # # FILE: db-passwd-fill-table.pl # # USAGE: ./db-passwd-fill-table.pl # # DESCRIPTION: # # OPTIONS: --- # REQUIREMENTS: --- # BUGS: --- # NOTES: --- # AUTHOR: Stefan Suhren (su), suhren.stefan@fh-swf.de # ORGANIZATION: FH Südwestfalen, Iserlohn # VERSION: 1.0 # CREATED: 06.01.2016 14:24:22 # REVISION: --- #=============================================================================== use strict; use warnings; use utf8; # Add database modul use DBI; # Get database config my %dbconf = do 'dbinc.pl'; my $dbhandle = DBI->connect("DBI:mysql:host=$dbconf{dbhost};database=$dbconf{dbdatabase}", $dbconf{dbuser}, $dbconf{dbpasswd}, {RaiseError=>1}) or die 'DB not accessible'; my $passwdInsertSth = $dbhandle->prepare("INSERT INTO stsuh_passwort (loginname, password, uid, gid, comment, homedir, commandinterpreter) VALUES (?, ?, ?, ?, ?, ?, ?)") or die $dbhandle->errstr; my $passwdFile_file_name = 'passwd'; # input file name open my $passwdFile, '<', $passwdFile_file_name or die "$0 : failed to open input file '$passwdFile_file_name' : $!\n"; while (<$passwdFile>) { my @passwdLine = split(':', $_); chomp @passwdLine; $passwdInsertSth->execute(@passwdLine) or die $dbhandle->errstr; } close $passwdFile or warn "$0 : failed to close input file '$passwdFile_file_name' : $!\n"; $dbhandle->disconnect;