[Cologne-pm] A pro pos: Treffen Morgen?

Michael Lamertz mike at lamertz.net
Tue Jan 4 05:01:15 CST 2005


On Mon, Jan 03, 2005 at 06:52:27PM +0100, A. Pagaltzis wrote:
> Um mal wieder etwas Beben in die Lude zu bringen:
> 
> * Michael Lamertz <mike at lamertz.net> [2004-05-11 17:02]:
> >   #!/usr/bin/perl

[veraltete Version snipped]

Hier ist die aktuelle:

    ---------- snip ----------
    #!/usr/bin/perl

    use strict;
    use warnings;
    use Date::Manip;
    use MIME::Lite;

    my $month = UnixDate("today", '%B');
    my $date = UnixDate("2nd wednesday in $month", "%d.%m.%Y");

    my $msg = MIME::Lite->new(
        From	=> 'Michael Lamertz <mike at lamertz.net>',
        To		=> 'Cologne Perl Mongers <cologne-pm at mail.pm.org>',
        #To		=> 'Michael Lamertz <mlamertz at tweety.dyndns.org>',
        Subject	=> "Treffen am $date...",
        Encoding	=> 'quoted-printable',
        Data	=> <<"EOF"
    Yo!

    Das nächste Treffen findet wie gewohnt statt am 2. Mittwoch des Monats, also am
    $date, in der

        Sansibar
        Trierer Str. 41
        50674 Köln
        ab ca. 18:30

    Dies ist eine automatisch erzeugte Nachricht.  Sollte mittlerweile auf der
    Liste ein anderer Termin verabredet worden sein, so ist diese Mail hinfällig.

    EOF
    );

    $msg->attr('content-type.charset' => 'iso-8859-1');

    $msg->send();
    ---------- snip ----------

Vs. Deine:

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

Auch wenn Date::Manip bei Gebrauch den Raum so stark kruemmt, dass vom
Server ausgehendes Licht nicht sichtbar ist, nutze ich's normalerweise,
weil die Konvertierungsmoeglichkeiten einfach Big-Time r0ck0rn ;-)

>     use MIME::Lite;
>     
>     use constant WEDNESDAY => 2;
>     
>     my $date = DateTime->now->truncate( to => 'month' );
>     
>     $date->add(
>         days => ( WEDNESDAY - $date->day_of_week() + 7 ) % 7,
>         weeks => 2,
>     );

Vergleicht man den oberen Abschnitt mit dem Teil aus der
Date::Manip-Version, so wird glaub' ich klar, was ich meine:

    my $date = UnixDate("2nd wednesday in $month", "%d.%m.%Y");

>     my $msg = MIME::Lite->new(
>         From        => 'Michael Lamertz <mike at lamertz.net>',
>         To          => 'Cologne Perl Mongers <cologne-pm at mail.pm.org>',
>         Subject     => $date->strftime( 'Treffen am %d.%m.%Y...' ),
>         Encoding    => 'quoted-printable',
>         FH          => *DATA,

Ja, ich hatte den Kram auch 'mal in DATA, aber da bekommt man halt keine
Variablen 'rein, es sei denn, man liest's wieder als String aus, und
evaled 'rum, oder ersetzt, oder irgendwas in der Art.  Ein here-doc fand
ich da einfach weniger Tipperei, vor allem, weil ja jetzt das Datum im
Mailbody nochmal auftauchen soll.

>     );
>     
>     $msg->attr('content-type.charset' => 'iso-8859-1');
>     
>     $msg->send();
>     
>     __END__
>     Yo!
>     
>     Das nächste Treffen findet wie gewohnt statt in der
>     
>         Sansibar
>         Trierer Str. 41
>         50674 Köln
>         ab ca. 18:30
>     
>     Dies ist eine automatisch erzeugte Nachricht.  Sollte mittlerweile auf der
>     Liste ein anderer Termin verabredet worden sein, so ist diese Mail hinfällig.

Ansonsten scheint mir das doch so ziemlich identisch.

Out of controversy-error in 42, beben in der lude disabled

    ;-)


Mike, der sich fuer 2005 'mal wieder vorgenommen hat, seinen Arsch aus
der Kurve zu bekommen @-)

-- 
	    Well, then let's give that Java-Wussie a beating... (me)

Michael Lamertz                        |     +49 2234 204947 / +49 171 6900 310
Sandstr. 122                           |                       mike at lamertz.net
50226 Frechen                          |                 http://www.lamertz.net
Germany                                |               http://www.perl-ronin.de 


More information about the Cologne-pm mailing list