🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
3 messages
3 total messages Started by Moper Sun, 02 Jan 2011 13:12
Zaawansowane formatowanie stringa - istenieje w Perl?
#52139
Author: Moper
Date: Sun, 02 Jan 2011 13:12
32 lines
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. 
Re: Zaawansowane formatowanie stringa - istenieje w Perl?
#52140
Author: Adam Osuchowski
Date: Sun, 02 Jan 2011 13:49
7 lines
1064 bytes
Moper wrote:
> A więc czy istnieje coś w Perlu, lub jakichś dodatkach, co pozwala na coś 
> takiego?

A przeglądałeś CPAN pod kątem modułów do obsługi szablonów? Jest tego trochę
i może któryś będzie Ci odpowiadał, np. dość rozbudowany i popularny
Template::Toolkit.
Re: Zaawansowane formatowanie stringa - istenieje w Perl?
#52141
Author: Moper
Date: Sun, 02 Jan 2011 14:18
13 lines
1508 bytes
"Adam Osuchowski" <someone@somewhere.com> wrote in message 
news:20110102134941.6b8b4567@polsl.pl...
> Moper wrote:
>> A więc czy istnieje coś w Perlu, lub jakichś dodatkach, co pozwala na coś
>> takiego?
>
> A przeglądałeś CPAN pod kątem modułów do obsługi szablonów? Jest tego 
> trochę
> i może któryś będzie Ci odpowiadał, np. dość rozbudowany i popularny
> Template::Toolkit.

Nie wiedziałem nawet czego szukać. Próbowałem "advanced string formatting" 
ale bez rezultatów. Biorę się za przeglądanie Template::Toolkit. 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads