summaryrefslogtreecommitdiffstats
path: root/Aufgabe3
diff options
context:
space:
mode:
Diffstat (limited to 'Aufgabe3')
-rw-r--r--Aufgabe3/skript2.pl95
1 files changed, 95 insertions, 0 deletions
diff --git a/Aufgabe3/skript2.pl b/Aufgabe3/skript2.pl
new file mode 100644
index 0000000..da9a20a
--- /dev/null
+++ b/Aufgabe3/skript2.pl
@@ -0,0 +1,95 @@
+#!/usr/bin/env perl
+#===============================================================================
+#
+# FILE: skript2.pl
+#
+# USAGE: ./skript2.pl
+#
+# DESCRIPTION:
+#
+# OPTIONS: ---
+# REQUIREMENTS: ---
+# BUGS: ---
+# NOTES: ---
+# AUTHOR: Stefan Suhren (su), suhren.stefan@fh-swf.de
+# ORGANIZATION: FH Südwestfalen, Iserlohn
+# VERSION: 1.0
+# CREATED: 04.11.2015 12:22:03
+# REVISION: ---
+#===============================================================================
+
+use strict;
+use warnings;
+use utf8;
+
+# enforce utf-8 mode
+binmode (STDIN, ":encoding(UTF-8)");
+binmode (STDOUT, ":encoding(UTF-8)");
+binmode (STDERR, ":encoding(UTF-8)");
+use open ":encoding(UTF-8)";
+
+
+my $german_file_name = 'german.lst'; # input file name
+
+open my $germanFile, '<', $german_file_name
+ or die "$0 : failed to open input file '$german_file_name' : $!\n";
+
+my %german;
+
+while (my $line = <$germanFile>)
+{
+ $german{uc $line} = 0;
+}
+
+close $germanFile
+ or warn "$0 : failed to close input file '$german_file_name' : $!\n";
+
+
+my $quadratFile_file_name = 'quadrat.dat'; # output file name
+
+open my $quadratFile, '<', $quadratFile_file_name
+ or die "$0 : failed to open input file '$quadratFile_file_name' : $!\n";
+
+my @loesung;
+
+while (my $line = <$quadratFile>)
+{
+ if (exists $german{uc $line})
+ {
+ push @loesung, uc $line;
+ }
+}
+
+close $quadratFile
+ or warn "$0 : failed to close output file '$quadratFile_file_name' : $!\n";
+
+# sort array
+@loesung = sort @loesung;
+
+# Remove double entries
+
+my @loesung_unique;
+
+push @loesung_unique, $loesung[0];
+
+foreach my $unique (@loesung)
+{
+ if ($unique ne $loesung_unique[$#loesung_unique])
+ {
+ push @loesung_unique, $unique;
+ }
+}
+
+
+my $loesungFile_file_name = 'loesung.dat'; # output file name
+
+open my $loesungFile, '>', $loesungFile_file_name
+ or die "$0 : failed to open output file '$loesungFile_file_name' : $!\n";
+
+print $loesungFile @loesung_unique;
+
+close $loesungFile
+ or warn "$0 : failed to close output file '$loesungFile_file_name' : $!\n";
+
+# Plus one as $# only returns the highest field index
+printf "%d unique words were found", $#loesung_unique+1;