Thread nur 3. spalte in datei einlesen
(10 answers)
Opened by bmxy at 2008-01-14 11:22
Krass, das zitierte Verhalten von split kannte ich auch noch nicht. Um das auszunuetzen, koennte man es wohl so schreiben:
Code (perl): (dl
)
my (undef, $foo) = split / /, $string; Aber um mal zur eigentlichen Frage zu kommen: Quote Man kann nicht nur eine einzelne Spalte einlesen, wenn man im Voraus nicht weiß, wie lang die Spalten sind. Stell Dir vor, jedes Zeichen in der Datei wäre ein Mensch und Du müsstest ihn anrufen, um rauszufinden, welchen Wert das Zeichen hat. Dann kommst Du auch nicht darum herum, jeden einzelnen Menschen anzurufen, sonst weißt Du nie, ob Du nicht irgendwo ein Leerzeichen überschlagen hast. Wenn man allerdings im Voraus schon weiß, wie lang die Spalten sind, kann man mit Hilfe von seek und read auch einzelne Spalten auslesen. Das würde sich aber (vermute ich jetzt mal) erst dann lohnen, wenn die Spaltenlänge weit über der Block- oder sogar der Pagegröße läge, also sagen wir mal mindestens ein paar KB. Dass man darauf achtet, dass split nicht zu viel splittet, wie oben diskutiert, fällt da wohl viel eher ins Gewicht. Dass der Rest der Zeile nicht zu lange gespeichert wird, kann man durch geschickten Einsatz von my-Variablen erreichen. Naja, oder eben von $_, aber local nicht vergessen... Lieblingsmodule: IPC::System::Simple, Path::Class
|