andreas michael thul

Musik & Technik


Schlagwort: Perl

Alle Jahre wieder

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.

 

XML-Dateien aufhübschen

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.

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-' .
 

ActivePerls “Set up gcc environment”-Meldung unterdrücken

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.

 

ppm-local

ppm-local is a Perl-script to create a local copy of the ActiveState Perl Package Manager repository.

License

ppm-local is published under the Perl Artistic License 2.0.

System requirements

Any machine running Perl 5.x

Included files

  • ppm-local.pl

Usage

Run ppm-local from the command line using at least the “action” parameter. Syntax is

usage: ppm-local.pl --action=[load|reload] [parameters]

Mandatory parameters:

  • action=load
    Load ‘package.xml’ if necessary and continue loading missing packages.
 

Locales ActivePerl Repository anlegen

Locales ActivePerl Repository anlegen

Da ActiveState den Zugriff auf die Perl Package Manager-Repositories nach einiger Zeit auf die Business Edition beschränkt, bietet sich als vorbeugende Maßnahme das Anlegen eines lokalen Repositories an, was in einigen (wenigen) Schritten erledigt ist:

Ermitteln des aktuellen Repositories

Zum ermitteln des aktuellen Repositories den Perl Package Manager starten, den Menüpunkt “Edit” / “Preferences” wählen und auf die Registerkarte “Repositories” wechseln.