Michael Schröpl: wg. http://www.schroepl.net/projekte/gzip_cnc/cache.htm

Beitrag lesen

Hi Jan-Philipp,

Daher interessiert mich die Geschichte mit LWP::Simple. Heißt das, dass
ich mit diesem Modul meine Website komplett zusammenbauen kann und dann
einen statischen Ouput erhalte?

genau - und das ziemlich einfach:

#!/usr/bin/perl
#################################################

generate static HTML files from SSI files

#################################################

created by Michael Schröpl (www.schroepl.net)

2002-06-08: V1.0 (initial version)

=====================================================================

use strict;
  use LWP::Simple;

=====================================================================

########################

global variables

########################

=====================================================================

my $root_path = 'n:\www\projekte\gzip_cnc';
  my $root_url  = 'http://localhost/projekte/gzip_cnc.src/ssi';

=====================================================================

#######################################################

function: make a *.html file from a *.shtml URL

#######################################################

=====================================================================

sub make_file ($)
  {
    # =================================================================
    # take parameter value
      my ($file_truename) = @_;
    # =================================================================
    # HTTP-GET the corresponding URL content
      my $new_file = "$root_path\$file_truename";
      print "generating $new_file ...\n";
      LWP::Simple::getstore ("$root_url/$file_truename.shtml", $new_file);
    # =================================================================
  }

=====================================================================

####################

main program

####################

=====================================================================

opendir (DIR, '.');
  my @entries = readdir (DIR);
  foreach my $this_entry (@entries)
          {
            # ---------------------------------------------------------
            # generate a "*.html" file for each "*.shtml" there
              if ($this_entry =~ /^([^_].*).shtml$/)
                 { make_file ($1); }
            # ---------------------------------------------------------
          }

=====================================================================

Meine SSI-Dateien haben ".shtml" als zusätzliche Endung, die ich beim
"Absaugen" wegschneide - und das Verzeichnis mit diesen Original-
Dateien liegt direkt neben dem, wo die statischen Dateien generiert
werden. Letztere lade ich dann per FTP auf den Server hoch - das Über-
setzen mache ich lokal auf dem PC.

Viele Grüße
      Michael