Leser: 2
|< 1 2 3 4 5 >| | 46 Einträge, 5 Seiten |
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
#
# Kommentar
#
TOKSINGLE = :Wa # Kommentar
TOKWORDS = :W # Kommentar
TOKDELIMITER = :Wd # Kommentar
TOKDESCRIPTION = :WND
TOKFILLER = :WF
TOKMODIFIER = :WMN
SPECTOKEN = # -z /Path/xy.txt
PHRASES = IllegalSyn # Kommentar classes \
Question \
Sure \
NoPerm \
AsIs \
NewSentence \
NoNewSentence \
#
# Kommentar
#
GENLIST = Array2.genlist # Kommentar
TERMLIST = 02_IrgendeineListe # Kommentar \
03_IrgendeineListe # Kommentar, \
# Kommentar
STARTLIST = dateiname.ids # Kommentar
OUTPUTNAME = # Kommentar
CROSSLIST = 01_XY # Kommentar
ADDFILTER = # Kommentar
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/perl
use strict;
use warnings;
my %params;
open PARAM, "param.dat" or die $!;
my $buffer = '';
while (<PARAM>) {
# Kommentare loeschen
s/\s*#.*?(\\?\n)/$1/;
# Leerzeichen an Anfang und Ende loeschen
s/^\s+//;
s/\s+$//;
# Zeile jetzt leer?
unless (length) {
# vorhandenen Buffer bearbeiten
insert_keys (\$buffer, \%params);
next;
}
# Zeile merken
$buffer .= $_;
if ($buffer =~ /\\$/) { # Fortsetzung folgt?
# Fortsetzungszeichen durch Leerzeichen ersetzen
chop $buffer; $buffer .= " ";
next;
}
# Ein Satz zusammen => eintragen
insert_keys (\$buffer, \%params);
}
# Falls die letzte Zeile noch ein Fortsetzungszeichen hatte ...
insert_keys (\$buffer, \%params);
use Data::Dumper;
print Dumper \%params;
#############################################
sub insert_keys {
my ($bufferp, $paramp) = @_;
return unless defined $$bufferp && length $$bufferp;
die "Syntaxfehler in Zeile $." unless index ($$bufferp, '=') >= 0;
my ($key, $val) = split /\s*=\s*/, $$bufferp, 2;
unless (defined $val) {
$paramp->{$key} = undef;
return;
}
if ($val =~ /\s/) { # Leerzeichen zwischen Woertern? => Liste
my @vals = split " ", $val;
$paramp->{$key} = \@vals;
} else {
$paramp->{$key} = $val;
}
$$bufferp = "";
}
#############################################
_ _ END _ _
$VAR1 = {
'TOKDELIMITER' => ':Wd',
'ADDFILTER' => '',
'CROSSLIST' => '01_XY',
'TERMLIST' => [
'02_IrgendeineListe',
'03_IrgendeineListe'
],
'TOKMODIFIER' => ':WMN',
'TOKWORDS' => ':W',
'SPECTOKEN' => '',
'TOKSINGLE' => ':Wa',
'PHRASES' => [
'IllegalSyn',
'Question',
'Sure',
'NoPerm',
'AsIs',
'NewSentence',
'NoNewSentence'
],
'TOKFILLER' => ':WF',
'OUTPUTNAME' => '',
'STARTLIST' => 'dateiname.ids',
'GENLIST' => 'Array2.genlist',
'TOKDESCRIPTION' => ':WND'
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my %hash;
my @array = ('KEYWORD = wert # Kommentar',
'KEYWORD2 = wert2 # Kommentar2',
'KEYWORD3=wert3#Kommentar3',
'KEYWORD4 =wert4 # Kommentar4',
);
for (@array) {
my ($key, $val, $com) = m~^(.+?)\s*=\s*(.+?)\s*#\s*(.*)$~;
$hash{$key} = { wert => $val, kommentar => $com };
}
print Dumper(\%hash);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my %hash;
my @array = ('KEYWORD = wert # Kommentar',
'KEYWORD2 = wert2 # Kommentar2',
'KEYWORD3=wert3#Kommentar3',
'KEYWORD4 =wert4 # Kommentar4',
);
for (@array) {
my ($key, $val, $com) = m~^(.+?)\s*=\s*(.+?)\s*#\s*(.*)$~;
$hash{$key} = { wert => $val, kommentar => $com };
}
print Dumper(\%hash);
1
2
3
4
5
6
7
8
9
DESCSCR = 10 # Score Descriptor (%)
TOKEN = ./Single # Computed single word list \
Words # List of known token classes \
Delimiter \
Description \
Filler \
Modifier \
MIXEDSCR = 100 # Score Alpha/num (%)
|< 1 2 3 4 5 >| | 46 Einträge, 5 Seiten |