Paule: Funktio wird in Schleife nicht ausgeführt.

Beitrag lesen

Hallo,
 bei nachfolgendem Code habe ich das Problem auf das wesentliche reduziert.
Das Problem ist, dass ich gerne die Funktion do2 mit einem Parameter aufrufen möchte.
Beim nachfolgendem code, habe ich das Problem, dass ich diese subroutine nicht innerhalb eines while aufrufen kann.
Auch gibt der print Befehl nichts aus.

Hat jemand einen Tip für mich?
Aus meinem Perl Buch wurde ich leider nicht schlau.
Kann sein, dass beim zusammenkopieren des Scriptes einzelne Deklarationen abhanden kamen.

#!/usr/bin/perl

Includes Perl Modules

use DBI;
use Config::IniFiles;
use Getopt::Std;
use strict;

sub do2
{

print "PARAMETER: $_[0]\n";

}

my $cfg = new Config::IniFiles( -file => "./xyz.ini" );

my $dbh = DBI->connect("DBI:mysql:" . $cfg->val('dbsettings','database'), $cfg->val('dbsettings','username'),$cfg->val('dbsettings','password') ); die "Keine DB Verbindung möglich: $DBI::errstr\n" unless (defined $dbh );

my $sth = $dbh->prepare("Select * from Test");
$sth->execute;
my @Array;
while ((@Array) = $sth->fetchrow_array)
{
do2("Test1");
print "Hier sollte was passieren, tut sich aber nix...\n";

$text1 =<<"EOF";
$text1\zone "$Array[1]" \n
EOF

}

print "$text1";
do2("Hallo");