Thread Such (Hash, Array)
(17 answers)
Opened by mikey_b at 2010-03-15 20:26
Hi
Ich hab das mit deinem Vorschlag probiert: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 %hash = (); open (AN, $ARGV[0] ) or die "Not Found\n"; open (IN, $ARGV[1]) or die "Not Found\n"; while ($line = <AN>) { chomp $line; ($k, $v) = split / /, $line; $hash{$k} = $v; } while (<IN>) { chomp; push (@text, split /\n/); } for $sentence ( @text ) { @word = split / /, $sentence; print $hash{$_},',' for @word; print '0,' for 5 - @word; print "\n"; } Ich komme aber zu der Ausgabe: 2,3,1,0, 2,2,1,0, 5,1,0, anstatt 2,3,1,0,0 2,2,1,0,0 5,1,0,0,0 Die Ausgabe muss immer gleiche Länge wie die schlüsseln in %hash sein. ist das was du angegeben hast mit 5 - @words (ich verstehe nicht so ganz diese Zeile, weil ich hab anstatt 5 auch 4 oder 8 angegeben und komme zum gleichen Ergebnis). Null heisst hier das das wort nicht im sentence ist und somit ändert sich sein wert auf 0. Danke für deine Hilfe Mike Last edited: 2010-03-16 11:03:19 +0100 (CET) |