summaryrefslogtreecommitdiffstats
path: root/Aufgabe7/db-passwd-fill-table.pl
blob: c33f89a628de0f0b8e255b91c682dac968388fb8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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;