From 853dfabf5172b66316849b8ef4fe92b9933677ad Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Wed, 6 Jan 2016 17:38:26 +0100 Subject: Create a database and read the passwd file --- Aufgabe7/db-passwd-fill-table.pl | 52 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Aufgabe7/db-passwd-fill-table.pl (limited to 'Aufgabe7/db-passwd-fill-table.pl') diff --git a/Aufgabe7/db-passwd-fill-table.pl b/Aufgabe7/db-passwd-fill-table.pl new file mode 100644 index 0000000..c33f89a --- /dev/null +++ b/Aufgabe7/db-passwd-fill-table.pl @@ -0,0 +1,52 @@ +#!/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}) or die 'DB not accessible'; + +my $passwdInsertSth = $dbhandle->prepare("INSERT INTO stsuh_passwort (loginname, password, uid, gid, comment, homedir, commandinterpreter) VALUES (?, ?, ?, ?, ?, ?, ?)") or die 'Preparation failed'; + +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 'Execution failed'; +} + +close $passwdFile + or warn "$0 : failed to close input file '$passwdFile_file_name' : $!\n"; + +$dbhandle->disconnect; -- cgit v1.2.3-70-g09d2