NÄCHSTE EVENTS

  • Deutscher Perl-Workshop 2016


22.12.2014

Modul des Monats: Dezember 2014 - Data::Coloured

Renée Bäcker

Heute starten wir eine neue Rubrik bei den News: Das "Modul des Monats". Damit wollen wir jeden Monat ein Modul vorstellen, das für unsere tägliche Arbeit wichtig ist oder uns bei der Arbeit unterstützt hat.

Das erste Modul ist Data::Coloured. Damit kann man sich bequem anzeigen lassen was so alles in einem String enthalten ist. Nicht-ASCII-Zeichen und Kontrollzeichen werden dabei durch eine darstellbare Form ersetzt.

Mich hat das Modul bei der Entwicklung von Mojolicious::Plugin::I18NUtils unterstützt. Denn nicht alles was auf der Kommandozeile wie ein Leerzeichen aussieht ist auch ein einfaches Leerzeichen.

Konkret ging es um die Tests. In den Tests wurde geprüft, dass die Darstellunmg von "9,99 €" bei spanischer locale auch wirklich als "9,99 €" dargestellt wird. Dieser Test ist aber fehlgeschlagen. Auf der Kommandozeile sieht beides identisch aus. Wie soll man jetzt den Fehler finden?

Eigentlich würde ich für so etwas Devel::Peek verwenden, aber ich wollte dem neuen Modul eine Chance geben - und es hat sich gelohnt.

Ich habe dann in den Test einfach diag coloured($string . " -> " . $check); eingebaut und danach erhielt ich folgende Diagnose: 9,99 € -> 9,99<a0>€. Hier lässt sich der Unterschied jetzt leicht feststellen.

Problem: In der aktuell veröffentlichten Version werden für Unicode-Codepoints leider nur die letzten beiden Bytes ausgegeben, so dass man damit nicht viel weiterkommt. Mit einer kleinen Anpassung ist das Problem aber behoben.

Links

Hier noch ein paar Links: