Patrick Andrieu: Dateien lesen und schreiben

Beitrag lesen

Hallo Struppi!

[Struppis Spruch]
Genau.

Nur wüßte ich gerne, wo - wobei der absolute Pretty-Output mir mittlerweile fast egal ist, immerhin sieht die Ausgabe wie folgt aus, also fast perfekt:

C:\>perl -w  
use strict;  
use MyWeb::Data;  
  
my $webdata = new Data;  
$webdata->mySitemap('B');  
^Z

<ul>
  <li><a href="/wae/wae_0.shtml">Willkommen auf Atomic Eggs</a>
    <ul>
      <li>/wae/level2/file.html</li>
      <li>/wae/level2/impressum.html
        <ul>
          <li>/wae/level2/level3/kontaktform.html
            <ul>
              <li>/wae/level2/level3/level4/kontaktform.html
                <ul>
                  <li>/wae/level2/level3/level4/level5/page1.html
                    <ul>
                      <li>/wae/level2/level3/level4/level5/level6/page1.html</li

<li>/wae/level2/level3/level4/level5/level6/page2.html</li

</ul>
                  </li>
                  </ul>     <-- Hier hackt's
                </li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
    </li>
  <li><a href="/wae/wae_1.shtml">Informationen f³r Erstbesucher</a></li>
  <li><a href="/wae/wae_2.shtml">Atomic Eggs - Sitemap</a>
    <ul>
      <li>/rubrikB/level2/file.html</li>
    </ul>
    </li>                    <-- Hier auch
  <li><a href="/wae/wae_3.shtml">Sich zurecht finden auf Atomic Eggs</a></li>
  <li><a href="/wae/wae_4.shtml">Impressum</a></li>
  <li><a href="/wae/wae_5.shtml">▄ber den Autor</a></li>
  <li><a href="/wae/wae_6.shtml">Atomic Eggs durchsuchen...</a></li>
  <li><a href="/wae/wae_7.shtml">Suchstatistik</a></li>
  <li><a href="/wae/wae_8.shtml">Das unm÷gliche Gõstebuch</a></li>
  <li><a href="/wae/wae_9.shtml">FAQ</a></li>
  <li><a href="/wae/wae_10.shtml">;-)</a></li>
</ul>

Generiert wird wie folgt:

  
sub mySitemap {  
  my $obj = shift;  
  my $arg = shift;  
  $arg eq "full" ? $obj->myFullmap() : $obj->mySectionmap($arg);  
}  
  
sub myFullmap  {  
  my $obj = shift;  
  my $arg = shift;  
  my %FILES = %{$obj->parseDataFile};  
  my $start = shift @{$obj->getFileKeys(\%FILES)};     # Startseite rausholen, nur hier wird sie gebraucht  
  print qq~STARTSEITE: <a href="$FILES{$start}{FILE_URL}">$FILES{$start}{TITLE}</a>\n~;  
  $obj->mySectionmap('B');  
  $obj->mySectionmap('C');  
}  
  
sub mySectionmap {  
  my $obj = shift;  
  my $arg = shift;  
  my %FILES = %{$obj->parseDataFile};  
  my @fileKeys = @{$obj->getFileKeys(\%FILES)};  
  my $start = shift @fileKeys;                                     # Die Startseite brauchma net. Sie steht auch außerhalb der <ul>-Liste.  
  my $spacer = "";  
  print "<ul>\n";  
  for (my $i = 0; $i < @fileKeys; $i++) {  
      if ($fileKeys[$i] =~ /^$arg/) {  
          if (defined($FILES{$fileKeys[$i]}{SECTIONS})) {  
              print qq~  <li><a href="$FILES{$fileKeys[$i]}{FILE_URL}">$FILES{$fileKeys[$i]}{TITLE}</a>\n~;  
              $obj->getSectionsForMaps($FILES{$fileKeys[$i]}{SECTIONS}, $spacer);  
  
          }  
          else {  
              print qq~  <li><a href="$FILES{$fileKeys[$i]}{FILE_URL}">$FILES{$fileKeys[$i]}{TITLE}</a></li>~, "\n";  
          }  
      }  
  }  
  print "</ul>\n";  
}  
  
sub getSectionsForMaps {  
  my $obj = shift;  
  my $sections = shift;  
  my @sections = @$sections;  
  my $spacer = shift;  
  print "    $spacer<ul>\n";  
  $spacer = "  ".$spacer;  
  my $liEndTag;  
  for (my $i = 0; $i < @sections; $i++) {  
  
    $liEndTag = defined($sections[$i]{SECTIONS}) ? "\n" : "</li>\n";  
  
    print "    $spacer<li>", $sections[$i]{FILE_URL}, $liEndTag;               # entpr. URL (wenn definiert)  
    $spacer = "  ".$spacer if defined($sections[$i]{SECTIONS});  
    $obj->getSectionsForMaps($sections[$i]{SECTIONS}, $spacer) if defined($sections[$i]{SECTIONS});  
  
  }  
  print "    ", " " x (length($spacer) - 2), "</ul>\n", "    ", " " x (length($spacer) - 4), "</li>\n";  
}

Alles nur Testphase, Gruseln also erlaubt!

Viele Grüße aus Frankfurt/Main,
Patrick

--

_ - jenseits vom delirium - _
[link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
Nichts ist unmöglich? Doch!
Heute schon gegökt?
0 78

Schriftart wechsel hakt manchmal

Engin
  • javascript
  1. 0

    Schriftart wechsel hakt manchmal korrektur

    Engin
    1. 0
      Patrick Andrieu
      1. 0

        Danke, gelöst

        Engin
        1. 0
          Struppi
          1. 0
            Engin
            1. 0
              Engin
              1. 0
                Patrick Andrieu
                1. 0
                  Engin
                  1. 0
                    Patrick Andrieu
                    1. 0
                      Engin
                      1. 0
                        Engin
                        1. 0
                          Patrick Andrieu
                          1. 0
                            Engin
                            1. 0
                              Patrick Andrieu
                              1. 0
                                Patrick Andrieu
                                1. 0
                                  Engin
                                2. 0
                                  Engin
                                  1. 0
                                    Patrick Andrieu
                                    1. 0
                                      Engin
                                      1. 0
                                        Patrick Andrieu
                                        1. 0
                                          Engin
                                          1. 0
                                            Patrick Andrieu
                                            1. 0
                                              Engin
                                              1. 0
                                                Shadowcrow
                                                1. 0
                                                  Engin
                                                  1. 0
                                                    Shadowcrow
                                            2. 0
                                              Engin
                                              1. 0
                                                Struppi
                                              2. 0
                                                Patrick Andrieu
                                                1. 0
                                                  Struppi
                                                  1. 0
                                                    Patrick Andrieu
                                                    1. 0

                                                      Schrift formatieren mit Javascript | Javascript ist Toll! :-)

                                                      Engin
                                                      1. 0
                                                        Struppi
                                                      2. 0
                                                        Patrick Andrieu
                                                        1. 0
                                                          Engin
                                                          1. 0
                                                            Patrick Andrieu
                                                            1. 0

                                                              AArgh!

                                                              Patrick Andrieu
                                                            2. 0
                                                              Engin
                                                              1. 0
                                                                Patrick Andrieu
                                                                1. 0
                                                                  Engin
                                                                2. 0
                                                                  Engin
                                                                  1. 0
                                                                    Patrick Andrieu
                                                                    1. 0

                                                                      Aargh (zu schnell getippt)!

                                                                      Patrick Andrieu
                                                                    2. 0
                                                                      Engin
                                                                      1. 0
                                                                        Patrick Andrieu
                                                                        1. 0
                                                                          Engin
                                                                          1. 0

                                                                            Dateien lesen und schreiben

                                                                            Patrick Andrieu
                                                                            • perl
                                                                            1. 0
                                                                              Engin
                                                                            2. 0
                                                                              Engin
                                                                              1. 0
                                                                                Struppi
                                                                                1. 0
                                                                                  Patrick Andrieu
                                                                                  1. 0
                                                                                    Engin
                                                                                  2. 0
                                                                                    Struppi
                                                                                    1. 0
                                                                                      Engin
                                                                                      1. 0
                                                                                        Struppi
                                                                                        1. 0
                                                                                          Engin
                                                                                          1. 0
                                                                                            Struppi
                                                                                            1. 0
                                                                                              Patrick Andrieu
                                                                                              1. 0
                                                                                                Struppi
                                                                                                1. 0
                                                                                                  Patrick Andrieu
                                                                                                  1. 0
                                                                                                    Struppi
                                                                                      2. 0
                                                                                        Patrick Andrieu
                                                                                    2. 0
                                                                                      Patrick Andrieu
                                                                                      1. 0
                                                                                        Struppi
                                                                              2. 0
                                                                                Patrick Andrieu
                2. 0
                  Engin
                  1. 0
                    EKKi
        2. 0
          Patrick Andrieu
          1. 0
            Engin
            1. 0
              Patrick Andrieu
              1. 0
                Kai345
  2. 0
    Struppi
    1. 0
      Patrick Andrieu
      1. 0
        Engin
        1. 0
          Struppi
          1. 0
            Engin
            1. 0
              Struppi