summaryrefslogtreecommitdiffstats
path: root/Aufgabe3/Buchstabenraetzel.pl
diff options
context:
space:
mode:
authorMartin Talarczyk <martin@talarczyk.de>2015-11-13 12:17:15 +0100
committerMartin Talarczyk <martin@talarczyk.de>2015-11-13 12:17:15 +0100
commitf08f2d0e3798ff90b7e68c46751e15b7b991a2a0 (patch)
tree46d12d0da15882ec53d2a016e3252b05638d6b98 /Aufgabe3/Buchstabenraetzel.pl
downloadSkriptsprachen-f08f2d0e3798ff90b7e68c46751e15b7b991a2a0.tar.gz
Skriptsprachen-f08f2d0e3798ff90b7e68c46751e15b7b991a2a0.zip
Commitel Aufgabe 1 bis 4
Diffstat (limited to 'Aufgabe3/Buchstabenraetzel.pl')
-rw-r--r--Aufgabe3/Buchstabenraetzel.pl123
1 files changed, 123 insertions, 0 deletions
diff --git a/Aufgabe3/Buchstabenraetzel.pl b/Aufgabe3/Buchstabenraetzel.pl
new file mode 100644
index 0000000..cb882b4
--- /dev/null
+++ b/Aufgabe3/Buchstabenraetzel.pl
@@ -0,0 +1,123 @@
+#!/usr/bin/env perl
+#===============================================================================
+#
+# FILE: Buchstabenrätzel.pl
+#
+# USAGE: ./Buchstabenrätzel.pl
+#
+# DESCRIPTION: Testet zwei Wort listen auf gleiche vorkommen.
+#
+# OPTIONS: ---
+# REQUIREMENTS: ---
+# BUGS: ---
+# NOTES: ---
+# AUTHOR: Martin Talarczyk (MT), talarczyk.martin@fh-swf.de
+# ORGANIZATION: FH Südwestfalen, Iserlohn
+# Matrikel-Nr.: 10036162
+# VERSION: 1.0
+# CREATED: 28.10.2015 08:43:14
+# REVISION: ---
+#===============================================================================
+
+use strict;
+use warnings;
+use utf8;
+
+binmode (STDIN, ":encoding(UTF-8)");
+binmode (STDOUT, ":encoding(UTF-8)");
+binmode (STDERR, ":encoding(UTF-8)");
+use open ":encoding(UTF-8)";
+
+
+#-------------------------------------------------------------------------------
+# Variabelen Deklarasion
+#-------------------------------------------------------------------------------
+
+my $wolistfp_file_name = 'german.lst'; # input file name
+my $infifp_file_name = 'quadrat.dat'; # input file name
+my $outputFile = "loesung.dat";
+#hash mit Deutschen Wörtern aus german.list
+my %german;
+my @loesung;
+my @loesung_unique;
+
+
+#====================================================================================
+# Wörter list lesen german.lst
+#====================================================================================
+print "Wörter liste lesen...\n";
+
+open my $wolistfp, '<', $wolistfp_file_name
+ or die "$0 : failed to open input file '$wolistfp_file_name' : $!\n";
+
+
+
+while (my $word = <$wolistfp>)
+{
+ $word = uc $word;
+
+ $german {$word} = $word;
+}
+
+close $wolistfp
+ or warn "$0 : failed to close input file '$wolistfp_file_name' : $!\n";
+
+#====================================================================================
+# lese quadrat.dat
+#====================================================================================
+print "Lese Input Datei...\n";
+
+open my $infifp, '<', $infifp_file_name
+ or die "$0 : failed to open input file '$infifp_file_name' : $!\n";
+
+while ( my $line = <$infifp>)
+{
+ #Wenn ein Deutsches Wort (german.list) füge zu lösung hinzu.
+ push (@loesung, $line) if exists $german {$line};
+}
+
+close $infifp
+ or warn "$0 : failed to close input file '$infifp_file_name' : $!\n";
+
+print "Feld Sortiren...\n";
+@loesung = sort @loesung;
+
+
+print @loesung . " Wörter gefunden!\n";
+
+#====================================================================================
+# Entferne dopelte
+#====================================================================================
+print "entferen dopelte...\n";
+
+my $count = 0;
+push @loesung_unique, $loesung[$count];
+
+foreach ( @loesung)
+{
+ if ($loesung_unique[-1] ne $_)
+ {
+ push @loesung_unique, $_;
+ }
+}
+
+#====================================================================================
+# Schrebie in Ausgabedatei loesung.dat
+#====================================================================================
+
+print "Schreibe in Ausgabedatei\n";
+
+
+my $opfp_file_name = 'loesung.dat'; # output file name
+
+open my $opfp, '>', $opfp_file_name
+ or die "$0 : failed to open output file '$opfp_file_name' : $!\n";
+
+print $opfp @loesung_unique;
+
+close $opfp
+ or warn "$0 : failed to close output file '$opfp_file_name' : $!\n";
+
+print @loesung_unique . " Wörter ohne doppelte gefunden!\n";
+
+