I am learning to code in Perl and I am writing a conjugator for Dutch adjectives. My ifelse and else block won't execute. I am totally new to programming and I don't see why this happens. Running the code does not give a syntax error; but it does not de to regex substituions in the else-block.
$woord=shift(@ARGV); #read input word from cmd-line
$evorm=$woord;
$svorm=$woord;
$comp=$woord;
$compmete=$woord;
$compmets=$woord;
$super=$woord;
$supermete=$woord;
# vorm met -e #
if($evorm=~/ig\b/){
$evorm=~s/(.*)/\1e/; # add -e wordstem
print "vorm met buigings-e: $evorm\n";
}
elsif($evorm=~/@n\b/){
print "vorm met buigings-e: $evorm\n"; # print evorm ending in -@n (without adding final -e)
}
else{ #these are subsitutions for conjugation (regex is correct)
$evorm=~s/([^(oo)(ee)(aa)(uu)(ie)(eu)][aeiou])([bdfklnmprst])\b/\1\2\2/;# verdubbeling consonant voor volle klinker: dom > domme, fel > felle, gek > gekke, plat > platte
$evorm=~s/((aa)|(ee)|(oo)|(ie)|(eu)|(oe)|(ui))f\b/\1v/; # stemhebbend maken van -f-: lief > liev:
$evorm=~s/((aa)|(ee)|(oo)|(ie)|(eu)|(oe)|(ui))s\b/\1z/; # stemmehebbend maken van -s-: dwaas > dwaaz
$evorm=~s/([aeou])\1([bdfgklmnrstvz])\b/\1\2/; # dubbele klinker enkelvoudig maken voor medeklinkers: groot > grot, braav > brav
$evorm=~s/(.*)/\1e/; # voegt -e toe aan de (al dan niet voorbewerkte) stam
print "vorm met buigings-e: $evorm\n"; # print evorm
}