diff options
Diffstat (limited to 'Aufgabe7/db-passwd-fill-table.pl')
| -rw-r--r-- | Aufgabe7/db-passwd-fill-table.pl | 52 |
1 files changed, 52 insertions, 0 deletions
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; |
