Hallo,
elsif (param('yachse')&¶m('xachse')) {
$file = $cgi->param("yachse");
read ($file,$yachse,5000000);
chomp $yachse;
@yachse = split(/\s/,$yachse);
$yachse = @yachse;
....
}
Das ist etwas unüblich, kann aber, entsprechende Umstände vorausgesetzt, funktionieren.
Es sieht, entsprechend Deinem Vorposting, so aus, als ob da irgendwie doch Zeilenumbrüche in die Datei gekommen sind, die dann in der Ausgabe wieder aufscheinen. Überprüfe einmal, was in den Arrays wirklich drin steht.
Das geht recht gut mit einem Begrenzungszeichen:
for ($i = 0; $i < $xachse; $i++) {
$wert.="Eintrag $i: #$xachse[$i]# #$yachse[$i]#\n";
Wenn es Einträge ohne Werte gibt, dann passt Dein split() nicht. (Was ich jetzt für am wahrscheinlichsten halte)
Beispiel:
Eintrag 1: #1# #1#
Eintrag 2: ## ##
Eintrag 3: #2# #4#
....
Wenn es eine Zeilenumbruch zwischen dem Wert und dem nachfolgenden # gibt, dann ist was bei dem Inhalt für die yachse faul.
Beispiel:
Eintrag 1: #1# #1
Eintrag 2: #2# #4
P.s. hast du einen guten link zum Thema "doublequotet und einfache quotet"
http://selfhtml.teamone.de/cgiperl/sprache/zeichenketten.htm#regeln z.B.
Aber auch in der Perldokumentation selbst gibt's natürlich näheres:
Günstigerweise per Commandline mit 'perldoc perlop'.
Im Notfall auch per http://www.perldoc.com/perl5.8.0/pod/perlop.html#Quote-and-Quote-like-Operators.
Grüße
Klaus