[Rozw ]Perl - Heredoc i kolorowanie tekstu

Problemy dotyczące programowania.

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
kyan
Użytkownik
Posty: 114
Rejestracja: 2008-04-22, 05:35
Lokalizacja: /home/kyan/

[Rozw ]Perl - Heredoc i kolorowanie tekstu

Post autor: kyan »

Hej

Mam nastepujacy problem, program w perlu ma drukowac w pewnym momencie dosc dlugi tekst (tekst helpu tego programu)

najwygodniej napisac ten tekst uzywajac skladni heredoc, niestety nie udalo mi sie ustalic w jaki sposob moge uzyc kolorowania tekstu w polaczeniu z heredoc

wlaczylem kolorowanie w perlu:

Kod: Zaznacz cały

use Term::ANSIColor qw(:constants);
$Term::ANSIColor::AUTORESET = 1;
dziala oczywiscie bez problemu przy tym:

Kod: Zaznacz cały

print BLUE "jakis tekst na niebiesko\n";
ale nie udalo mi sie znalesc czy jest mozliwe i ew. jak wstawic znaki kolorujace w tresc heredoc (swoja droga zmiennych tez chyba sie nie da)

zarowno uzycie zmiennych typu $Term::ANSIColor::CYAN jak i sekwencji ucieczki bashowych typu \033[00;31m (powiedzmy, ze to 2 az tak mnie nie dziwi ;) ) nie dziala niestety...

z gory dzieki za pomoc
Ostatnio zmieniony 2010-09-17, 21:54 przez kyan, łącznie zmieniany 1 raz.
Awatar użytkownika
mina86
Moderator
Posty: 3343
Rejestracja: 2004-06-14, 21:58
Lokalizacja: Linux 5.x x86_64
Kontakt:

Re: Perl - Heredoc i kolorowanie tekstu

Post autor: mina86 »

A może POD?
Zastrzegam sobie prawo nieanalizowania postów pisanych niepoprawną polszczyzną.
Post generated automatically by A.I. system code name ‘mina86’ in response to the previous one.
Awatar użytkownika
kyan
Użytkownik
Posty: 114
Rejestracja: 2008-04-22, 05:35
Lokalizacja: /home/kyan/

Re: Perl - Heredoc i kolorowanie tekstu

Post autor: kyan »

mina mi potrzebne bylo wlasciwie tylko kolorowanie, jedyne formatowanie tekstu (poza tabulacja) jakiego uzylem

w koncu uzyskalem to w troche inny sposob

zadzialalo zwykle "" zawierajace wielolinijkowy tekst (w sumie nie wiem czemu od razu tego nie sprawdzilem, nowy dzien przynosi czesto szybkie rozwiazanie problemu :) )

najpierw chwile zajelo mi obejscie problemu znakow formatujacych, ale pomoglo spojrzenie w zrodla modulu ANSIColor :mrgreen:

dla potomnych ktorzy potrzebowaliby uzycia kolorow a z jakiegos powodu niedzialalby im ANSIColor tak jakby chcieli

uzywa on zwyklych sekwencji ucieczki tylko z \e zastepujacym znane shellowe \033

hash z lista kolorow gdzies na poczatku pliku

Kod: Zaznacz cały

my %color = (
    'bold red' => "\e[01;31m",
    'bold green' => "\e[01;32m",
    'bold yellow' => "\e[01;33m",
    'bold blue' => "\e[01;34m",
    'bold magenta' => "\e[01;35m",
    'bold cyan' => "\e[01;36m",
    'bold white' => "\e[01;37m",
    'red' => "\e[00;31m",
    'green' => "\e[00;32m",
    'yellow' => "\e[00;33m",
    'blue' => "\e[00;34m",
    'magenta' => "\e[00;35m",
    'cyan' => "\e[00;36m",
     'white' => "\e[00;37m",
    'reset' => "\e[00m"
);
i voila :) (jest to robienie tego samego co ANSIColor wiec jak nie trzeba to nie warto :) )
ODPOWIEDZ