Article View: pl.comp.lang.perl
Article #52139Zaawansowane formatowanie stringa - istenieje w Perl?
From: Moper
Date: Sun, 02 Jan 2011 13:12
Date: Sun, 02 Jan 2011 13:12
32 lines
2086 bytes
2086 bytes
Witam Mam trochę zmiennych (ale mogę też zrobić np. hasha) z prostymi wartościami (tekst, liczba) i chcę sformatować z nich tekst. Np.: zmienne: $first, $last, $yearborn, $yeardied etc. I chcę mieć: Jan Kowalski (1921-1990) Czyli z grubsza "$first $last ($yearborn-$yeardied)" I teraz: wiekszość wartości może być undef, wtedy formatowanie zmienia się wg jakiejś tam logiki. W tym prostym przypadku jeśli nie ma ani daty urodzenia ani daty śmierci, cały nawias trzeba pominąć. Ponadto dochodzi prosta logika typu chcę w stringu coś tylko jeśli jakaś inna zmienna (nie użyta bezpośrednio w stringu) jest taka i taka, lub jeśli z danego fragmentu wyszedł tekst pusty to wstaw coś innego etc. Mam tego formatowania sporo i chcę mieć z tym dużą elastyczność. A na chwilę obecną do formatowania są funkcje z ogromem if'ów. Ponadto chciałbym mieć sposób formatowania jakoś konfigurowalny. A więc czy istnieje coś w Perlu, lub jakichś dodatkach, co pozwala na coś takiego? Wyobrażam sobie to tak, że jeden string z kombinacjami dziwnych znaczków (ala regexp) zrobi wszystko, np: $last $first ?($yearborn&&$yeardied)\($yearborn-$yeardied) ale jestem otwarty na cokolwiek. Pozdr.
Technical Details
Message-ID:
<ifptj3$24kk$1@opal.icpnet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!newsb.icpnet.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!newsb.icpnet.pl!not-for-mail From: "Moper" <brak@meilu.pl> Newsgroups: pl.comp.lang.perl Subject: Zaawansowane formatowanie stringa - istenieje w Perl? Date: Sun, 2 Jan 2011 14:12:03 +0100 Organization: ICP News Server Lines: 33 Message-ID: <ifptj3$24kk$1@opal.icpnet.pl> NNTP-Posting-Host: d213-232.icpnet.pl Mime-Version: 1.0 X-Trace: opal.icpnet.pl 1293973923 70292 109.173.213.232 (2 Jan 2011 13:12:03 GMT) X-Complaints-To: abuse@icpnet.pl NNTP-Posting-Date: Sun, 2 Jan 2011 13:12:03 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Windows Mail 6.0.6002.18197 X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6002.18263 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit