Pitt: Template

hi,

also mein problem:
(erklärung)
mein programm liest ca. 10 dateien aus, dann werden sie in einem array mit dem namen @inhalt gespeichert. das läuft alles in einer foreach-schleife ab, deswegen hat @inhalt nur den inhalt von der zuletzt ausgelesen datei. deswegen wird jeder inhalt in ein anderes array mit dem namen @neuerinhalt gepusht. jetzt hat @neuerinhalt den inhalt von allen dateien.

jetzt zu meinem problem:

das programm soll jetzt den inhalt von @neuerinhalt auf einem template erzeugen, aber es kommt immer diese fehlermeldung:

HTML::Template->param() : You gave me an odd number of parameters to param()! at shop.cgi line 36

wenn ich nun aber nur den @inhalt, also den letzten inhalt von der ausgelesen datei in den template->param() reinhau, dann wird es auf dem template angezeigt.

weis einer warum des so spinnt??
hier noch mein quelltext:

#!/usr/bin/perl -w

use strict;
use HTML::Template;
use CGI::Carp qw(fatalsToBrowser);

my $tmpl = new HTML::Template( filename
=> "../../templates/test.tmpl" );

my $file;
my @file;
my @inhalt;
my @neuer;

opendir(DIR, "../../user") or die $!;
@file = readdir(DIR);
closedir(DIR);

if(@file > 2) {
foreach $file (@file) {
if(-f "../../user/$file") {
 open(FH, "<../../user/$file") or die $!;
 flock(FH, 2);
 @inhalt = <FH>;
 close(FH);
 push @neuer, @inhalt;
 }
}
}
$tmpl->param( hier_her => @neuer );

print "Content-type: text/html\n\n";
print $tmpl->output;

danke im voraus