Ruth: Ausgabe einzelner Woerter aua Text

Habe folgendes Problem:
Ich lese einen Text ein und schneide danach die Endungen einiger Wörter ab (Stemming).

Text einlesen:
...........

Endungen abschneiden:
@result = ($text =~ s/en//gi);
@result = ($text =~ s/er//gi);
................

Resultat ausgeben (ganzer Text ohne die Endungen):
print "@result n";

Wie bekomme ich jetzt nur die Wörter allein heraus, die ich abgeschnitten habe?
print "$text n"; --> gibt ja nur die Anzahl abgeschnittener Wörter zurück.
Wie also?
Kann mir jemand helfen?

  1. Tag Ruth.

    Ich lese einen Text ein und schneide danach die Endungen einiger Wörter ab (Stemming).
    [...]

    Nein, das tust du nicht:

    @result = ($text =~ s/en//gi);
    @result = ($text =~ s/er//gi);

    Aus "Englisch" würde "glisch", aus "Wermut" würde "Wmut". Dein Konzept stimmt m.E. noch nicht.

    Wie bekomme ich jetzt nur die Wörter allein heraus, die ich abgeschnitten habe?

    Es gibt viele Wege, das zu erreichen. Du könntest dir die Treffer merken, sprich, sie in einem extra Array speichern. Du kannst auch über map die relevanten Einträge herausfiltern. Steht denn in @result pro Arrayelement 1 Wort?

    Und nicht zuletzt, hast du dir schonmal Lingua::Stem::De angeschaut?

    Siechfred