Programmierung

Alle Jahre wieder

24. Dezember 2013 · Programmierung · andreas · Kein Kommentar

Allen Bloglesern ein entspanntes Weihnachtsfest und einen unfallfreien Rutsch in ein gesundes und glückliches 2014!

+ | / \ ( i ) /_ _\ ( i i ) /._ _.\ ( i i i ) /-._ _.-\ ( i i i i ) /'-._ _.-'\ ( i i i i i ) ^'-._ _.-'^ |_| andi 2oo4

Anbei noch ein Tannebäumchen, das ich 2004 außer Konkurrenz in Perl für den Weihnachtsbaum-Wettbewerb von Thomas Walter erstellt habe.

Wer das entsprechende Skript habem möchte - bitteschön!


XML-Dateien aufhübschen

19. Dezember 2013 · Programmierung · andreas · Kein Kommentar

Genau wie Maschinen oft Probleme haben, etwas für Menschen problemlos verständliches zu verarbeiten, so blickt ein Mensch dann und wann auf den Inhalt einer maschinenlesbaren Datei und kann darin nur wenig erkennen.

Geht es um die Verarbeitung von XML-Dateien, so können wenige Zeilen Perl eine deutliche Verbesserung schaffen - zum Beispiel bei der Aufbereitung einer “SEPA Payments"-XML-Datei.

pretty.pl
use strict; use warnings; use XML::LibXML; use XML::LibXML::PrettyPrint; my $file = $ARGV[0] || die "usage: pretty.pl inputfile.xml\n"; my $document = XML::LibXML->new->parse_file($file); my $pp = XML::LibXML::PrettyPrint->new( indent_string => chr(9), element => { compact => [qw/MsgId CreDtTm PmtInfId PmtMtd NbOfTxs CtrlSum Cd ReqdExctnDt Nm IBAN BIC ChrgBr EndToEndId InstdAmt Ustrd/], } ); $pp->pretty_print($document); open(sFILE, '>pretty-' . $file); print sFILE $document->toString; close (sFILE);

Die hauptsächliche Arbeit übernimmt das Modul XML::LibXML::PrettyPrint, dessen Ausgabe mit Hilfe einer Reihe von Parametern an die jeweiligen Bedürfnisse angepasst werden kann.


Stylesheets aufräumen mit SASS

11. Dezember 2013 · Programmierung · andreas · Kein Kommentar

SASS, die Syntactically Awesome StyleSheets bieten einiges an Funktionalität, die man sich bereits im Rahmen des CSS1-Standards gewünscht hätte. Wer alle Optionen in Augenschein nehmen will, sollte einen Blick in die offizielle Referenz werfen, dieser Beitrag soll nur einen kurzen Einblick in die Möglichkeiten geben, mit geringem Aufwand die Wartbarkeit von Stylesheets deutlich zu verbessern.

Hierzu wird die Sassy CSS-Syntax (SCSS) verwendet, eine Erweiterung des CSS3-Standards. Jedes valide CSS3-Stylesheet ist auch gleichzeitig ein valides SCSS-Stylesheet und die Änderungen können flexibel auf der Basis bereits bestehender Stylesheets eingearbeitet werden.

Vollständigen Beitrag lesen


Sass unter Debian

12. November 2013 · Programmierung · andreas · Kein Kommentar

sassUm Sass, die Syntactically Awesome Style Sheets unter Debian in Betrieb zu nehmen, gibt es mehrere Möglichkeiten:

Die erste und einfachste ist die Installation des Pakets “ruby-sass”. Den Vorteil, daß die Installation ausschließlich unter Verwendung des Debian Paketmanagers distributionskonform erfolgt, erkauft man sich durch den Nachteil, daß mangels passendem “Listener”-Paket die automatische Verzeichnisüberwachung durch Sass nicht möglich ist.

Alternativ kann zuerst die Ruby-Umgebung mit Hilfe des Debian-Paketmanagers eingerichtet werden, bevor Sass mitsamt den benötigten Paketen über das Ruby-eigene Paketsystem RubyGems installiert wird.

Zur Installation der Umgebung genügt das Installieren der Pakete

apt-get install ruby ruby-dev build-essential

anschließend steht alles zur Verfügung um mittles

gem install sass

zuerst Sass und anschließend durch

gem install rb-inotify

auch den Listener für die Verzeichnisüberwachung herunterzuladen und zu installieren.


ActivePerls "Set up gcc environment"-Meldung unterdrücken

05. August 2013 · Programmierung · andreas · Kein Kommentar

Neuere ActivePerl-Varianten nerven beim Start eines Skripts mit der Meldung “Set up gcc environment”, für deren Deaktivierung es auf den ersten Blick keinen offensichtlichen Schalter gibt.

Die Lösung bringt ein Blick in die Doku des Moduls “ActivePerl::Config”

perldoc ActivePerl::Config

welche die Umgebungsvariable “ACTIVEPERL_CONFIG_SILENT” ausspuckt, die genau diesen Zweck erfüllt:

ACTIVEPERL_CONFIG_SILENT

If set to a TRUE value (e.g. “1”), suppress warnings on STDERR when new compilation environments are set up. This happens when a supported compiler is detected that is different from the one that perl was originally built with.