2007-03-11

Osobowość programisty

Nadal Perl i nadal Qpsmtpd. W tym tygodniu stanę przed nie lada wyzwaniem - pogodzić 3 wtyczki, z których każda chce robić coś innego na tym samym pliku/treści... ale to się da.

Wpadł mi w ręce ciekawy, choć krótki, test (8 pytań raptem) - zlinkowany w tytule tego wpisu. Wynik poniżej... i w zasadzie większość się zgadza.

" Your programmer personality type is:

DHSC

You're a Doer.
You are very quick at getting tasks done. You believe the outcome is the most important part of a task and the faster you can reach that outcome the better. After all, time is money.

You like coding at a High level.
The world is made up of objects and components, you should create your programs in the same way.

You work best in a Solo situation.
The best way to program is by yourself. There's no communication problems, you know every part of the code allowing you to write the best programs possible.

You are a Conservative programmer.
The less code you write, the less chance there is of it containing a bug. You write short and to the point code that gets the job done efficiently."

Link na deser:
Doolwind's Game Coding Journal - blog na którym znalazłem w/w test. Z ciekawszych wpisów polecam ten z 2 listopada 2006.
(`.`)

2007-03-01

Qpsmtpd - bojów ciąg dalszy

Już narzekałem, że cały czas siedzę nad wtyczkami do Qpsmtpd pisanymi w Perl-u. Dzisiaj, wyjątkowo, chciałem się podzielić pewnym dość śmiesznym kawałkiem kodu, który spreparowałem ucząc się jak potężnym poleceniem jest "s///".

W dużym skrócie - należało z korespondencji w formacie text/html zrobić text/plain (wiem, że tak nie powinno się czynić... i nic na to nie poradzę). Część podmiany polegała na zamianie wszystkim znanego:
<a href="http://abc.pl">abc</a>
na:
abc[http://abc.pl]

Z pomocą przyszło oczywiście wspomniane polecenie "s///", a konkretniej:
$wiersz =~
s/<[Aa][\W\w\n]*?[Hh][Rr][Ee][Ff]="(.*?)"
[^>]*>([\W\w\n]*?)<\/a>/$2\[$1\]/g;
(niestety całość się nie mieści w linijce w jakiś kulturalny sposób...)
Takim to "prostym" zabiegiem (bardzo wg mnie nieeleganckim, który pewnie ktoś już gdzieś napisał lepiej i czytelniej) otrzymujemy pożądany efekt. Jeżeli byłoby to potrzebne - chętnie służę komentarzem.

Link na deser:
HTML::Entities - biblioteka Perl-a bardzo przydatna przy walce z wiatrakami... znaczy się, chciałem powiedzieć, z korespondencją formatowaną w HTML-u.
(#_-)