Siechfred: Ein paar Anfängerfragen

Beitrag lesen

Hell-O!

ich bin gerade bei dem Tutorials bei Arrays() angelangt und musste festellen, dass diese mit dem @ erzeugt werden.

Soweit richtig.

Dann wird dort geschrieben, das array's dennoch mit $ aufgerufen werden.

Dabei kommt es auf den Kontext an. Perl kennt im Wesentlichen den skalaren Kontext ("Strings") und den Listenkontext. Benötigst du den Zugriff auf ein Array als Liste, schreibe @array, wenn du einzelne Elemente eines Arrays benötigst, schreibe $array[index].

print "Content-type: text/html\n\n";
my @array = ('eins','zwei','drei');
my $init;
foreach $init (@array) {
print "@array\n";
}
Ich habe zuvor bei foreach den array mit $ geschrieben, was dann aber zur keiner Ausgabe führte.

Wenn du ein Arrayelement ansprechen willst, dann tue es so, wie ich es oben beschrieben habe. Würdest du in deinem kleinen Script $array statt @array verwenden, würde Perl nach einer "Stringvariablen" namens $array suchen, die es aber nicht gibt.

Nun wird als Ausgabe folgendes gezeigt: eins zwei drei eins zwei drei eins zwei drei .

Das ist eine Besonderheit bei Perl, da du einer print-Anweisung nicht nur einen String, sondern auch eine Liste zur Ausgabe übergeben kannst. Letztenfalls werden die Listenelemente ausgegeben, mittels der vordefinierten Variable $, kannst du den Trenner zwischen allen Listenelementen festlegen. In deinem Beispiel sähe das kurzerhand so aus:

my @arr = (1, 2, 3);  
$, = '|';  
print @arr;

Ergibt als Ausgabe "1|2|3".

Und wieso kommt keine Freizeile nach jedem Zeichen? Habe ja \n mit eingebaut.

Weil dein Inhaltstyp text/html ist, und in HTML macht man Zeilenumbrüche mittels <br>, nicht mittels "\n".

Und kann CGI auf MySQL Datenbanken zugreifen?

Bitte unterscheide zwischen Perl und CGI. Zwar werden beide Begriffe oft synonym verwendet, sind es aber nicht. Zum Thema Perl und mySQL gibt es hier einen guten Einstieg:

http://www.thomas-fahle.de/pub/perl/DBI/index.html

Auch Links zu CGI Referenzen usw. wären nicht schlecht.

Ich habe seinerzeit mit dem Perl-Kapitel von SELFHTML angefangen.

Siechfred

--
Hier könnte Ihre Werbung stehen.
Viel Lärm um nichts || Die neue 1%-Regelung