#!/usr/bin/perl -w while () { print savo($_); } sub savo { #@savo=("aa","ua", # "au","aa", # "ai","aa", # "hd","h", # "en ","e ", # "otonta","ottoo", # "\\([aeiouyäö]\\)m\\([aeiouyäö]\\)","\\1mm\\2", # "paa ","poo ", # "",""); $s=$_[0]; $s=~ s/\n/ /gi; $s=~ s/^/ /gi; #$i=0; #while ($savo[$i] ne "") { # #print "$savo[$i] -> $savo[$i+1]\n"; # $s=~ s/$savo[$i++]/$savo[$i++]/gi; #} $s=~ s/([aeiouyäö])vaa([ ,\.?!;:])/$1vvoo$2/gi; $s=~ s/d([aeiouyäö])n/t$1n/gi; $s=~ s/hd/h/gi; $s=~ s/en([ ,\.?!;:])/e$1/gi; $s=~ s/([^aeiouyäöäl])ea([ ,\.?!;:])/$1ee$2/gi; $s=~ s/eä([ ,\.?!;:])/öö$1/gi; $s=~ s/ään([ ,\.?!;:])/öön$1/gi; $s=~ s/ää([ ,\.?!;:])/öö$1/gi; $s=~ s/än([ ,\.?!;:])/ö$1/gi; $s=~ s/in([ ,\.?!;:])/i$1/gi; $s=~ s/at([ ,\.?!;:])/ot$1/gi; $s=~ s/sta([ ,\.?!;:])/sto$1/gi; $s=~ s/uun([ ,\.?!;:])/uu$1/gi; $s=~ s/lla([ ,\.?!;:])/llo$1/gi; $s=~ s/stä([ ,\.?!;:])/st$1/gi; $s=~ s/tse([ ,\.?!;:])/tte$1/gi; $s=~ s/aa([ ,\.?!;:])/oo$1/gi; $s=~ s/jä([ ,\.?!;:])/ä$1/gi; $s=~ s/([aeiouyäö])d([aeiouyäö])/$1$1/gi; $s=~ s/([^aeiouyäöä])aa([^aeiouyäöä])/$1ua$2/gi; $s=~ s/([^aeiouyäöäl])au([^aeiouyäöä])/$1aa$2/gi; $s=~ s/([^aeiouyäöä])ai([^aeiouyäöä])/$1aa$2/gi; $s=~ s/([^aeiouyäöä])ie([^aeiouyäöä])/$1ia$2/gi; $s=~ s/([^aeiouyäöä])ii([^aeiouyäöä])/$1iä$2/gi; $s=~ s/([^aeiouyäöä])äy([^aeiouyäöä])/$1ää$2/gi; $s=~ s/([^aeiouyäöä])äi([^aeiouyäöä])/$1öi$2/gi; $s=~ s/otonta/ottoo/gi; $s=~ s/([aeiuyäö])ts([aeiouyäö])/$1tt$2/gi; #$s=~ s/([aeiuyäö])l([aeiouyäö])/$1ll$2/gi; $s=~ s/([aeiouyäö])m([aeiouyäö])/$1mm$2/gi; #$s=~ s/([aeiouyäö])tt([aeiouyäö])/$1t$2/gi; #$s=~ s/([aeiouyäö])h([aeiouyäö])/$1$2/gi; $s=~ s/([^aeiouyäöä][aeiouyäö])r([aeiouyäö])/$1rr$2/gi; $s=~ s/paa([ ,\.?!;:])/poo$1/gi; $s=~ s/tevät/töövät/gi; $s=~ s/nevät/nnöövät/gi; $s=~ s/aai/uai/gi; $s=~ s/oit/ot/gi; $s=~ s/ava/avo/gi; $s=~ s/([aeiouyäö])rk/$1r$1k/gi; $s=~ s/([aeiouyäö])lm/$1l$1m/gi; $s=~ s/([aeiouyäö])ht/$1h$1t/gi; $s=~ s/([aeiouyäö])([rl])v([aeiouyäö])/$1$2$1v$3/gi; $s=~ s/^ //gi; $s=~ s/ $/\n/gi; return $s; }