#!/usr/bin/env perl use Mojolicious::Lite; use Mojo::Util qw/files/; my $datadir; get "/" => sub { my $c = shift; $datadir = $c->app->home . "/public/data"; my @entrys=files $datadir; chomp @entrys; my $story = story(@entrys); $c->stash( story => $story ); $c->render("index"); }; # FUNCTION STORY # Die Funktion story bereitet den dynamisch zu erzeugenden Inhalt auf, d.h. sortiert die jeweils anzuzeigenden Beiträge #(hier um die komplizierte Sortierung gekürzt) # Hierzu muss eine Liste mit den Dateinamen auf die Blogeinträge übergeben werden sub story { # erhalte die Dateinamen my @entrys = @_; # erstelle eine lokale Variable, die am Schluss übergeben wird my $story; foreach my $entry (@entrys) { open ENTRY, "$entry"; # TITELANGABE # Die erste Zeile enthält idR. den Titel my $firstline = ; chomp $firstline; my $title = "

$firstline

"; my $content; # die übrigen Zeilen enthalten einen ganz normalen Absatz while (my $line=) { $content = $content . $line . "\n"; } close ENTRY; $story = $story."$title \n $content
"; } # Übergebe die Story return $story; } app->start; __DATA__ @@ index.html.ep % layout "default"; % title "Blog"; <%== $story %> @@ layouts/default.html.ep <%= title %> <%= content %>