Thema Leistungsoptimiert Mittwoch, 2.12.2009, 13:05:22 Uhr
Die Transliteration - Nur ein Zeichen in einem Skalar ersetzen Ich glaube, ich hatte dazu schon mal irgendwo in diesem Blog geschrieben, aber da ich das heute gerade mal brauchte und mich da etwas intensiver mit beschäftigt habe, möchte ich noch einen Artikel dazu schreiben.
Es ging um das Problem, nur ein Zeichen in einem Skalar zu löschen bzw. durch ein anderes zu ersetzen, und das natürlich möglichst schnell.
Also die "Wald und Wiesen-Variante" ist ja ein: Weiterlesen...
Dienstag, 1.12.2009, 14:39:25 Uhr
Select - Case in Perl In vielen Programmiersprachen gibt es das Select-Case-Konstrukt.
Für diejenigen, die es nicht kennen, hier eine kurze Erläuterung: Per Select wählt man den Inhalt einer Variable vor, die dann je nach Inhalt per Case bestimmte Programmoptionen ausführt. Hier ein kleines Beispiel, das nur der Erläuterung dient:
$inhalt="2";
Select $inhalt Case 1 Tu etwas für 1 Case 2 Tu etwas für 2 Case 3 ...
usw.
|
Weiterlesen...
Mittwoch, 10.12.2008, 09:28:36 Uhr
truncate - Dateigröße verändern in Perl Der Befehl truncate, der laut Dokumentation nicht auf allen Systemen vorhanden ist (bei mir jedoch unter Windows XP, Vista und Linux schon), kann dazu verwendet werden, eine Dateigröße nachträglich zu ändern.
Beispiel:
open (my $out,'>','test.txt'); print $out "123456789"; truncate($out,4); close $out;
|
Weiterlesen...
Dienstag, 22.1.2008, 15:34:57 Uhr
Hash Slices - Was ist das? Da in letzter Zeit hier öfters das Wort Hash-Slice gefallen ist, dachte ich mir, ich schreibe mal ein bißchen darüber.
Ein Hash besteht ja bekanntermaßen aus einem Key und seinem dazugehörigen Value, also $hash{key}=$value;.
Zusätzlich kann man sagen, daß ein Hash ein Array darstellt, was folgender Code zeigt: Weiterlesen...
Samstag, 19.1.2008, 10:54:40 Uhr
Elemente eines Arrays in einem Hash löschen - Die schnelle Methode Ich habe ja bereits hier schon einmal darüber geschrieben, wie man doppelte Einträge eines Arrays entfernt, so daß nur noch die übrig bleiben, die einzigartig sind.Dazu fiel mir noch ein, daß sowas ja auch mit Hashes funktionieren könnte.
Die Problemstellung ist die: Ich habe einen Hash mit irgentwelchen Werten, und will nun alle Hash-Elemente löschen, die in einem Array vorhanden sind.
Weiterlesen...
Donnerstag, 3.1.2008, 08:13:26 Uhr
Fortgeschrittenes beschreiben von Dateien - einzelne Zeilen finden und ändern bzw. löschen Nun, ich gebs ja zu, oft bin ich ja als Grundlagenforscher unterwegs. Diesmal geht es darum, Dateien möglichst so zu beschreiben, so daß beim Einlesen bestimmte Zeilen besonders schnell wiedergefunden werden können.
Na gut, ein Beispiel Ich habe 1000 fortlaufende Rechnungsnummern, dazu jeweils 1000 Brief-Texte, die ich in einer Datei speichern will. Später will ich möglichst effektiv auf jeweils beliebige Rechnungsnummern plus Brief-Texte zugreifen. Weiterlesen...
Mittwoch, 5.12.2007, 15:01:45 Uhr
Die Schwartzsche Transformation - Arrays sortieren nach mehreren Kriterien Oftmals hat man das Problem, daß man Arrayinhalte sortieren will.
Hat man nur einzelne Werte, wie zum Beispiel Nachnamen, kann dies bequem per sort() erledigt werden.
Etwas komplizierter wird es, wenn man nach mehreren Kriterien sortieren möchte, zum Beispiel nach Nachnamen und Vornamen. Weiterlesen...
Dienstag, 13.11.2007, 12:11:24 Uhr
Prüfen, ob ein bestimmter Wert in einem Array vorhanden ist Also, ich hab ja hier das Beispiel gebracht, wie man von einem Array die einzigartigen Elemente herausfinden kann. Im Zusammenhang dazu fiel mir dann noch eine Kleinigkeit ein, nämlich, wie man feststellt, ob ein Array einen bestimmten Wert enthält.
Die Methode, die einem normalerweise zuerst einfallen würde, ist diese (oder so ähnlich) Weiterlesen...
Sonntag, 11.11.2007, 18:30:47 Uhr
How can I extract just the unique elements of an array? Years ago i wrote a subroutine to find the unique elements of an Array.
The code was the following
sub del_double{ my %all; grep {$all{$_}=0} @_; return (keys %all); }
|
Weiterlesen...
Freitag, 27.4.2007, 11:29:17 Uhr
Speedtest File::Find Wie ich hier ja schon berichtet habe, schien mit das Modul File::Find zu der Zeit etwas unflexibel.Grund dafür war die Tatsache, daß ich keine Dateiendungen übergeben konnte bzw. nicht festlegen konnte, wie viele Ebenen durchsucht werden sollen bzw. nur die aktuelle Ebene oder inklusive Unterebene.
Dies ist zwar natürlich Möglich, aber leider nur per Umweg. Der Aufruf von File::Find erfolgt ja per Weiterlesen...
|