also dein code sieht ziemlich chaotisch aus. eigentlich räumt man code erstmal auf, bevor man ihn postet. du hast da ziemlich viele überflüssige sachen drin. ausserdem benutzt du anscheinend kein strict und warnings, deshalb lies bitte
UseStrict
Quote
hier benutzt du $i, eine variable, die du nirgendwo mehr benutzt. hast du zuviele variablen übrig?
Quote
if (/^\#/){ next } #Kommentarzeilen im .csv-file überspringen
das schreibt sich üblicherweise so:
Quote
nur ne kleinigkeit, aber das schreibt man so:
warum? na weil man mit \s* beliebig viele \s ersetzt, also auch null. das ist im zweifel mehr arbeit für den interpreter. du willst ja nur ersetzen, wenn mindestens ein space vorkommt.
Quote
sorry, aber $xyz ist kein hilfreicher variablenname. desweiteren brauchst du die zeile nur an einer einzigen stelle, und kurz bevor du sie brauchst, weist du sie einer anderen variable zu. warum benutzt du nicht $_? oder im gegensatz dazu, wenn du "richtige" variablen lieber hast, warum weist du die zeile nicht so einer variablen schon im schleifenkopf zu?
Quote
@zeile = split(/\,/,$xyz);
push @{ @values[$arrayzaehler] }, [split(/\,/,$xyz)];
du machst zweimal dasselbe split, und die variable @zeile lasst du völlig ungenutzt? ich weiss, du wirst vermutlich sagen, das kommt vom rumtesten. aber bevor man code postet, entfernt man sowas. das hat nix mit schikane zu tun.
Quote
$arrayzaehler = ++$arrayzaehler;
hast du zuviel CPU übrig? ++$var inkrementiert eine variable eh schon, man braucht das ergebnis nicht nochmal derselben variable zuzuweisen.
QuoteAllerdings kommt da irgendwie nur Mist bei raus...
mist? aha. könntest du das ein wenig näher erläutern?