Skip to content

Audiolänge ...

Vielleicht kann ja einer von Euch auch etwas damit anfangen. Das Skript berechnet die Summe der Längen aller Audiodateien in einem Verzeichnis, dazu muss der absolute Pfad angegeben werden. Zusätzlich zu Perl muss noch das Schweizer Taschenmesser der Audiobearbeitung, SoX, installiert sein. Es gibt kaum ein Audioformat, dass SoX nicht versteht. Wenn sox, oder vielmehr das Tool soxi im Pfad ist, funktioniert das Skript auch unter allen gängigen Betriebssystemen, Windows inklusive.

Es ist für den Eigenbedarf entstanden und macht keinerlei Prüfungen oder Fehlermeldungen.

#!/usr/bin/perl -w
use strict;

use File::Find;

my $playtimesec = 0;
my $playtimetme = "";

my @directories = @ARGV;

sub audiolength {
        my $len = `soxi -D "$File::Find::name" 2>/dev/null`;
        $playtimesec += $len if ((defined $len) && ($len ne ""));
}
                                               
sub seconds2time( $ ) {
        my ($ss) = @_;
        my ($hh,$mm);
        $mm = int($ss / 60);
        $ss = int($ss) - ($mm * 60);
        $ss = "0${ss}" if (length($ss) == 1);
        $hh = int($mm / 60);
        $mm = $mm - ($hh * 60);
        $mm = "0${mm}" if (length($mm) == 1);
        return "$hh:$mm:$ss";
}

find(\&audiolength, @directories);

$playtimetme = seconds2time($playtimesec);
print "$playtimetme";

DBD::JDBC ...

Nur, dass ich es mal geschrieben habe, dann vergesse ich es vielleicht nicht. Die aktuelle Version 0.71 von DBD::JDBC ist böse. Ich habe sie nicht zum Laufen bekommen. Die Version davor arbeitet aber problemlos.

cpan install V/VI/VIZDOM/DBD-JDBC-0.70.tar.gz regelt das.

Warum ich JDBC benutze, steht hier.

perl.org ...

... hat ein zeitgemässes Outfit bekommen.

Endlich ein Design, welches für das Multifunktionswerkzeug im Inventar des Systemadministrators (und natürlich darüber hinaus) angemessen ist. Super gemacht!

Sehr hübsch ist auch das "included" (eingeschlossen enthalten) auf der Download-Seite.

Unsaubere Programme in Perl ...

Larry Wall in Perl, the first postmodern computer language auf der Linux World 1999:
The very fact that it's possible to write messy programs in Perl is also what makes it possible to write programs that are cleaner in Perl than they could ever be in a language that attempts to enforce cleanliness.
Zu finden auch in der Wikipedia, dort findet sich die folgende Übersetzung:
Genau die Tatsache, dass es möglich ist, unsaubere Programme in Perl zu schreiben, ermöglicht es, Programme zu schreiben, die sauberer sind, als in Sprachen, die versuchen, Sauberkeit zu erzwingen.

Marketing für Perl ...

An dieser Stelle möchte ich mal auf die Diskussionen bei Xing und in der deutschen Perl-Community hinweisen.
In den letzten Tagen/Wochen gibt es eine "heiße" Diskussion darüber, wie Perl außerhalb der Perl-Community wahrgenommen wird und wie man diese Wahrnehmung verbessern kann.
Wäre schön, wenn sich möglichst viele beteiligen, vielleicht auch gerade die, die aus irgendwelchen Gründen nichts von Perl halten.