Vinzenz Mai: Beschreibung zu kryptischen Statements gesucht

Beitrag lesen

Hallo

ich habe mir das Dokument mal angeschaut, dabei ist mir folgendes aufgefallen.

Es steht dort:

Mit der Anweisung: $cgi->hr({-noshade => undef, -size => '1'}) wird der HTML-Code <hr noshade size="1"> erzeugt. Das Argument, das der Methode übergeben wird, muss dazu in geschweiften Klammern { bzw. } stehen.

soweit ich die Dokumentation des Moduls verstehe (Perl ist nicht meine Lieblingssprache) ist SELFHTML hier etwas ungenau:
Wenn das *erste* Argument ein Hash ist (d.h. in geschweiften Klammern steht), dann werden die Schlüssel-Werte-Paare des Hashes die Attribute des Elementes.

Weiter unten:

...
      $cgi->start_html(-title  =>'Testseite mit Link',
                       -author =>'beispiel@example.org',
                       -base   =>'true',
.....
                       -ALINK  =>'black'),

-title wird das <title>-Element

-author, ... zu den entsprechenden Metatags

$cgi->p('ein kleiner Test mit einem ',
              $cgi->a({-href => 'http://www.selfhtml.org/'},'Link auf selfhtml.org')),

  

> Warum muss in  
> $cgi->start\_html(-title  =>'Testseite mit Link',..  
>           nicht auch die geschweifte Klammer verwendet werden, also  
  
weil dies  
~~~html
  
<html>  
    <title>Testseite mit Link</title>  

generieren soll und nicht ...

$cgi->start_html({-title  =>'Testseite mit Link',...

  
<html title="Testseite mit Link">  

Im Hash können übrigens die Bindestriche für die Attributnamen entfallen.
Ist der Unterschied jetzt klar?

Freundliche Grüße

Vinzenz