Mai 2010 Archive

Das Modul Roman - Perl module for conversion between Roman and Arabic numerals - von Alexandr Ciornii vereinfacht die Umrechnung von Römische Zahlen in Indisch-Arabische Zahlen und umgekehrt.

Indisch-Arabische Zahlen in römische Zahlen umrechnen

Die automatisch exportierte Funktion Roman liefert römische Zahlen in Großbuchstaben. Wer kleine Buchstaben bevorzugt, verwendet statt dessen die (hier nicht gezeigte) Funktion roman.

#!/usr/bin/perl
use strict;
use warnings;
use Roman;

my @arabic_numbers = ( 1 .. 10 );

foreach my $arabic (@arabic_numbers) {
    my $roman = Roman($arabic);
    printf( "%-5s %-5s\n", $arabic, $roman );
}

Das Programm erzeugt folgende Ausgabe:

1     I    
2     II   
3     III  
4     IV   
5     V    
6     VI   
7     VII  
8     VIII 
9     IX   
10    X  

 

Römische Zahlen in Indisch-Arabische Zahlen umrechnen

Die ebenfalls automatisch exportiert Funktion arabic rechnet römische Zahlen in Indisch-Arabische Zahlen um. isroman prüft, ob es sich auch wirklich um eine gültige römische Zahl handelt.

#!/usr/bin/perl
use strict;
use warnings;
use Roman;

my @roman_numbers = qw( X XX L C CM MCD );

foreach my $roman (@roman_numbers) {
    if ( isroman($roman) ) {
        my $arabic = arabic($roman);
        printf( "%-5s %5s\n", $roman, $arabic );
    }
    else {
        warn "$roman ist keine gueltige roemische Zahl!\n";
    }
}

Das Programm erzeugt folgende Ausgabe:

X        10
XX       20
L        50
C       100
CM      900
MCD    1400

 

Datum in römischen Zahlen

Das nachfolgende Snippet habe ich im Blog von Ovid im Beitrag Dates in Latin gefunden und als Grundlage für ein kleines Programm verwendet:

#!/usr/bin/perl
use strict;
use warnings;

use Roman;
use DateTime;

my $dt = DateTime->new(
    year      => 2010,
    month     => 06,
    day       => 7,
    time_zone => 'Europe/Berlin',
);

my $date           = latin_date($dt);
my $workshop_count = Roman(12);

print
    qq~Der $workshop_count. Deutsche Perl-Workshop in Schorndorf (bei Stuttgart)
       startet am "$date".\n~;

sub latin_date {

    # Quelle: http://blogs.perl.org/users/ovid/2010/05/dates-in-latin.html
    my $datetime = shift;
    my @days     = (
        'Dies Dominica',
        'Dies Lunae',
        'Dies Martis',
        'Dies Mercurii',
        'Dies Iovis',
        'Dies Veneris',
        'Dies Saturni',
        'Dies Dominica',
    );
    my @months = (
        'Januarius', 'Februarius', 'Martius',   'Aprilis',
        'Maius',     'Junius',     'Julius',    'Augustus',
        'September', 'October',    'Novembris', 'December'
    );
    return join ' ' => $days[ $datetime->day_of_week ],
        roman( $datetime->day ), $months[ $datetime->month - 1 ],
        uc( roman( $datetime->year ) );
}

Das Programm erzeugt folgende Ausgabe:

Der XII. Deutsche Perl-Workshop in Schorndorf (bei Stuttgart) 
startet am "Dies Lunae vii Junius MMX".

 

Siehe auch:

Die neue Modern Perl Ubuntu 10.04 LTS Desktop Live DVD ist fertig und liegt zum Download als ISO-Image bereit.

Features

  • Perl 5.10.1 und mehr als 2.600 CPAN Module vorinstalliert
  • Modern Perl Module wie Catalyst, DBIx::Class und Moose bereits installiert
  • Zahlreiche Editoren wie Padre, Eclipse mit EPIC-Plugin, Vim, Emacs, Geany, jEdit
  • Zahlreiche Bibliotheken und Header-Dateien bereits installiert - vereinfacht die Installation weiterer CPAN-Module erheblich
  • Softwareversionierung cvs, svn, hg, git und bzr inkl. graphischer Tools bereits installiert
  • In Perl programmierte Spiele wie Frozen Bubble oder Vaccuum Magic bereits installiert
  • Weitere Software kann mit den Standardwerkzeugen apt-get, Synaptic und dem neuen Software-Center einfach installiert werden.

Modern Perl und Ubuntu einfach ausprobieren

Das ISO-Image (1,8 GB) kann einfach mit VirtualBox oder VMware gestartet werden.

willkommen_klein.png

Alternativ lässt sich das ISO-Image auch auf eine DVD brennen. Anschließend den Rechner von der DVD booten und das Ganze einfach ausprobieren. Da es sich um eine Live-DVD handelt, wird nichts auf dem Rechner installiert.

Editoren und Versionskontrolle für Perl-Entwickler (m/w)

menu_entwicklung_klein.png

Editoren für Perl-Entwickler (m/w) und Versions-Kontroll-Software.

Padre

padre_klein.png

Padre, "the Perl IDE", in Version 0.50.

Spiele

menu_spiele_klein.png

Vacuum Magic und Frozen Bubble: Zwei Spiele, die in Perl und SDL programmiert wurden.

Vacuum Magic

 

Siehe auch:

Über dieses Archiv

Diese Seite enthält alle Einträge von Perl HowTo von neu nach alt.

April 2010 ist das vorherige Archiv.

Juni 2010 ist das nächste Archiv.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Blog Roll

Powered by

Powered by Movable Type 5.2.10

Creative Commons-Lizenz

Creative Commons License
Dieses Weblog steht unter einer Creative Commons-Lizenz.