summaryrefslogtreecommitdiffstats
path: root/Aufgabe5/searchengine.pm
blob: 9a1690bb4b5f386b79f62aa676a7f05c8d4a9b5b (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
53
54
55
56
57
58
59
#
#===============================================================================
#
#         FILE: searchengine.pm
#
#  DESCRIPTION: 
#
#        FILES: ---
#         BUGS: ---
#        NOTES: ---
#       AUTHOR: Stefan Suhren (su), suhren.stefan@fh-swf.de
# ORGANIZATION: FH Südwestfalen, Iserlohn
#      VERSION: 1.0
#      CREATED: 02.12.2015 14:29:44
#     REVISION: ---
#===============================================================================
package searchengine;

use strict;
use warnings;
use utf8;

# use common import function
use Exporter;

# enforce utf-8 mode
binmode (STDIN, ":encoding(UTF-8)");
binmode (STDOUT, ":encoding(UTF-8)");
binmode (STDERR, ":encoding(UTF-8)");
use open ":encoding(UTF-8)";

# add exporter as a parent for this package.
our @ISA= qw( Exporter );

# these CAN be exported.
our @EXPORT_OK = qw( buildStoplist );

# these are exported by default.
our @EXPORT = qw( buildStoplist );

sub buildStoplist {
	my ( $stoplistFileName, $stoplist ) = @_;
	
	defined $stoplistFileName or die "StoplistFile must be supplied.";
	defined $stoplist or die "Stoplist hash must be supplied.";

	open  my $stoplistFile, '<', $stoplistFileName
		or die  "$0 : failed to open  input file '$stoplistFileName' : $!\n";

	while( my $word = <$stoplistFile> )
	{
		chomp $word;
		$stoplist->{$word} = '';
	}

	close  $stoplistFile
		or warn "$0 : failed to close input file '$stoplistFileName' : $!\n";

} ## --- end sub buildStoplist