Leser: 22
1
2
3
4
5
6
7
open(AUSGABE, "$ausgabe);
#Ausgabe aller großgeschriebenen Wörter
foreach $elem /^(@alle_sortierten_woerter) {
if ($elem=~/[A-ZÄÖÜ]{1}/) {
print(AUSGABE "\"$elem\" kommt frequenzliste{$elem} mal vor \n");
}
}
Guest NC10[...]
Diese Lösung /[A-ZÄÖÜ]{1}/ funktioniert auch wunderbar, allerdings hab ich mir gedacht dass /\u{1}/ genauso funktionieren müsste. Tut es aber nicht! Warum?
QuoteNoch eine Frage: wie könnte ich bei meinem Beispiel alle Wörter ausgeben, die nur EINEN Vokal haben?
[...]
Guest NC10
if (lc($_) =~ y/aeiou// == 1) {
Quote...If the REPLACEMENTLIST is empty, the SEARCHLIST is replicated...
tr/abc//
tr/abc/abc/
1
2
3
4
5
6
7
8
perl -wle '
# string definieren
$_ = "Hallo Welt.";
# Transliteration durchführen und Anzahl merken
$a = tr/aeiou/v/;
# Anzahl und String ausgeben
print "a: $a; string: $_";
'
tr/aeiou/v/
tr/aeiou/vvvvv/
1
2
3
4
5
6
7
8
9
10
0 : ~$ perl -wle '
# string definieren
$_ = "Hallo Welt.";
# Transliteration durchführen und Anzahl merken
$a = tr/aeiou/v/;
# Anzahl und String ausgeben
print "a: $a; string: $_";
'
a: 3; string: Hvllv Wvlt.
0 : ~$
Guest NC10Code: (dl )if (lc($_) =~ y/aeiou// == 1) {
....dann hab ich mir gedacht könnte ich einen Vokal genauso gut durch beispielsweise ein v ersetzen. ALso zum Beispiel y/aeiou/v/==1 . Funktioniert aber nicht? Warum?
if (lc($_) =~ tr/aeiou/v/ == 1) {
if( (my $test = lc($_)) =~ tr/aeiou/vvvvv/ == 1 );
if( $_ =~ tr/aeiouAEIOU/vvvvvvvvvv/ == 1 );