hallo Struppi,
meine wortwahl geht sicherlich manchmal an der des wissenden perl programmierers, der ich nicht bin, vorbei.
die links zu perldoc hab ich mir angeschaut. daß das 'kind'/funktion auch einen anderen namen haben darf ist ja logisch.
mit
ich finde das schon sehr strange, daß
CGI->new
new CGI
CGI.new
> >
> > immer zum selben ergebnis führt.
meinte ich nur, daß es für perl laien wirkt, als wenn sich die perl entwickler nicht wirklich entscheiden können oder je nachdem gerade dem momentanen trend folgen.
ich programmier eigentlich meistens in Smalltalk und Java.
manchmal muß man aber eben irgendwas ändern, was irgendwann mal von irgendjemandem geschrieben wurde. und dann wird's wirklich abgefahren. und bei perl hat da jeder irgendwie seinen sehr eigenen stil, was das ganze nicht einfacher macht. das ist mein eindruck.
nochmal danke für die mühe + schönen abend noch
> > ich finde das schon sehr strange, daß
> >
> > ~~~perl
> > CGI->new
> > new CGI
> > CGI.new
> >
immer zum selben ergebnis führt.
Wie ich in meinem Posting erklärt habe, weil der erste Parameter für die Funktion new immer der Gleiche ist nämlich CGI.
Doch, das ergibt einen Unterschied. Am besten probierst du es einfach aus:
print $foo;
print $bar;
> >
> > das mit dem unterschied versteh ich nicht so ganz. denn wenn ich alles richtig verstanden habe wird durch den 'new' konstruktor eine neue instanz von CGI erstellt egal mit welcher der drei oben genannten möglichkeiten ich das mache. und die variable z.b. $foo hat dann ne referenz drauf.
>
> Es gibt keinen new Konstruktor in Perl. Das ist eine beliebige Funktion, die zufälligerweise oft so genannte wird, weil es in anderen Sprachen so ist.
> Diese Funtion segnet ein Objekt, meistens das was als erster Parameter übergeben wird. (mehr dazu in Perldoc)
>
> > wenn ich mir die ausgabe von obigem code anschauen steht da irgendwas wie:
> >
> > ~~~perl
> > CGI=HASH(...)
> >
wobei der hex wert von hash wahrscheinlich die adresse des objektes ist. natürlich muß die ausgabe von $foo und $bar eine andere sein, da es nicht das selbe objekt ist.
Das ist widerrum richtig.
Struppi.