[Perl] Wo ist der Syntaxfehler?

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

[Perl] Wo ist der Syntaxfehler?

Beitrag von AND51 »

Ahoi!

Bei dem Versuch, RSet() in CGI/Perl nachzuprogrammieren tritt immer ein Syntaxfehler auf. Ich finde ihn einfach nicht. Ihr?

Code: Alles auswählen

sub rset # string, length, fillWithString
{
	my $result=shift;
	my $len=(shift||0)-length($result);
	my $fillWith=shift||" ";
	my $fillLen=length($fillWith);
	#return $len;
	if($len > 0) # fill
	{
	   return $fillWith x($len/$fillLen).$result;
	}
	elseif($len < 0) # truncate
	{
		return substr($result, length($result)+$len+1); # negieren, da $len negativ
	}
}
Es muss etwas mit der else-Zeile zu tun haben; schreibe ich da einfach nur else statt elseif($len < 0), dann erscheint der Syntaxfehler.
Ansonsten scheint die Prozedur einwandfrei zu arbeiten, sie füllt und kürzt korrekt.

Hier noch schnell die Fehlermeldung:
CGI::Carp qwq(fatalsToBrowser) hat geschrieben:syntax error at purebasic.pm line 34, near ") # truncate
{"
syntax error at purebasic.pm line 37, near "}"
Compilation failed
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Frank Smart
Beiträge: 26
Registriert: 20.07.2005 15:21

[Perl] Wo ist der Syntaxfehler?

Beitrag von Frank Smart »

Hallo,

Code: Alles auswählen


elseif($len < 0) # truncate

solltest Du in:

Code: Alles auswählen


elsif($len < 0) # truncate

ändern. Dann sollte es funktionieren. :wink:

Gruß,

Frank
PureBasic Version 3.94
PureBasic Version 4.31
PureBasic Version 4.40

Feel the ..Pure.. Power
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Hallo Frank,

Vielen Dank, es funktioniert!! :o
Ich wusste nicht, dass es in Perl elsif heißt, ich habe einfach fest vermutet, dass es auch dort (wie in PureBasic) elseif heißen muss...

Du kannst mir glauben, das sind so Momente, wo ich mir mit dem Worten "Ouuuuuuh!" an den Kopf packe! Bild

Hab nochmal genauer in einer Perl-Dokumentation nachgesehen und auch dort steht elsif, was ich aber nie beachtet habe...
Nochmals vielen heißen Dank! :allright:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Antworten