Thread Suffix zerlegen (3 answers)
Opened by kimmy at 2011-11-24 12:48

kimmy
 2011-11-24 12:48
#154451 #154451
User since
2010-09-10
87 Artikel
BenutzerIn
[default_avatar]
Hallo,
ich habe ein kleines Perl-Skript erstellt, das Suffix zerlegt.
Code: (dl )
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
#!/usr/bin/perl

use strict;
use warnings;

my @list;

open(my $root, "root.txt") or die "kann das Lexikon nicht öffnen: $!";
open(my $begriff, "begriff.txt") or die "kann das Lexikon nicht öffnen: $!";

while(<$begriff>){
chomp;
push @list, $_;
}

while(<$root>){
chomp;
my $lex = $_;
foreach my $string(@list){
if($string =~ /^(.*)$lex$/i){
print "$string\t$1\t$lex\n";
#um zu verhindern, ABCabcd ABCa bcd
@list = grep !/$string/, @list;
}
}
}
print "REST : @list\n";


Liste 'root':
Code: (dl )
1
2
3
4
5
abcd
defg
abc
bcd
def

Liste 'begriff':
Code: (dl )
1
2
3
4
5
6
7
8
ABCabcd
DEFdef
EFGabcd
HIJabc
KLMdefg
XYZabc
opqr
stuv

Aber ich bekomme komische Result, wie folgt,
Code: (dl )
1
2
3
4
5
6
7
$ perl zerlegen.perl 
ABCabcd ABC abcd
EFGabcd EFG abcd
KLMdefg KLM defg
HIJabc HIJ abc
DEFdef DEF def
REST : XYZabc opqr stuv

Könnte jemand mir erklären, woran es liegt? (wieso der Begriff 'XYZabc' nicht erkannt wird?)
Und könnte jemand beibringen, wie ich noch effizienter das Skript erstellen kann?
Last edited: 2011-11-24 12:50:47 +0100 (CET)

View full thread Suffix zerlegen