🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #51936

Interpolacja łańcuchów - nieco trudniejsza jak sądzę.

#51936
From: Jarosław Lubczyński
Date: Thu, 01 Jul 2010 07:49
49 lines
2101 bytes
Witam wszystkich :)

Mam następujący problem: chciałbym interpolować wartość łańcucha 
korzystając nie ze zdefiniowanych zmiennych ale z wartości zawartych w 
hashu, gdzie kluczami są nazwy zmiennych. Innymi słowy:

# to jest proste (o ile ie zrobiłem literówki ;-) ):

my $nick='Eljot';
print "My nick is $nick\n";

# wypisze oczywiście tekst
# "My nick is Eljot"

# a teraz chciałbym, żeby identyczny tekst wypisywał taki kod:

my %MyVars = ( NICK => 'Eljot');

print &MyStrEval( "My nick is $NICK", \%MyVars), "\n";

# ale także i taki:

print &MyStrEval( "My nick is ${NICK}", \%MyVars), "\n";

# i teraz

sub MyStrEval
{
#  ?????
}

=

Czy jest na to jakiś wbudowany mechanizm w Perlu lub gotowy moduł do 
pobrania z CPANa? Jeżeli nie, to proszę o czytelne wskazówki, jak ten 
problem ugryźć. Nie oczekuję (przynajmniej na początku...) gotowego 
kodu, jak go napiszę sam, to znowu się czegoś nauczę :). Niestety wujek 
G. nie miał jakoś ochoty mi pomóc...

Dzięki.

-- 
Pozdrawiam
Jarek Lubczyński
(eljot<NULL>90125 at gmail dot com)
Nawiasy trójkątne z zawartością zbędne są

There are 10 kinds of people:
Those who understand binary and those who don't
Technical Details
Message-ID: <i0hhbh$r30$1@opal.futuro.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!opal.futuro.pl!not-for-mail
From: Jarosław Lubczyński <guess@who.com.pl>
Newsgroups: pl.comp.lang.perl
Subject: Interpolacja łańcuchów - nieco
 trudniejsza jak sądzę.
Date: Thu, 01 Jul 2010 09:49:44 +0200
Organization: Pro Futuro
Lines: 50
Message-ID: <i0hhbh$r30$1@opal.futuro.pl>
Reply-To: guess@who.com.pl
NNTP-Posting-Host: ns.elkomtech.com.pl
Mime-Version: 1.0
X-Trace: opal.futuro.pl 1277970610 27744 62.233.147.142 (1 Jul 2010 07:50:10 GMT)
X-Complaints-To: usenet@futuro.pl
NNTP-Posting-Date: Thu, 1 Jul 2010 07:50:10 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit