🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Odpowiednik funkcji source z basha

#52406
From: Stachu 'Dozzie' K.
Date: Fri, 24 Feb 2012 11:59
42 lines
2131 bytes
On 2012-02-24, piecia aka dracorp <imie.nazwisko@wp.eu> wrote:
> Witam
> Jako że w perlu nie zadziała coś takiego:
> #v+
> `bash -c "source plik"`;
> print $ENV{var};
> #v-
> napisałem funkcję która po części realizuje wczytywanie zmiennych z 
> plików do hasha:

  * YAML/YAML::Syck
  * JSON
  * Text::CSV/Tie::Array::CSV

> #v+
> my %env;
> sub source_file { #{{{
>     my ($file) = @_;
[...]
>         $env{$key} = $value;
>     }
>     return ;
> }
> #v-

Tak się nie robi. Deklarujesz %env wewnątrz funkcji i zwracasz %env
(albo referencję do tego).

> Zmienne są wczytywane do hasha %env. Problem występuje gdy w pliku 
> zmienna przyjmie np. postać:
> #v+
> var=$pkgevr-$pkgrel
> var=${pkgver}.${pkgrel}
> #v-
> I inne kombinacje. Gdzie zmienna może być objęta przez {} lub nie.
> Pytanie jak się najlepiej do tego zabrać? 

Nie paprać samemu. Zależy do czego tego potrzebujesz.

-- 
Secunia non olet.
Stanislaw Klekot
Technical Details
Message-ID: <slrnjkeuri.tg5.dozzie@jarowit.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail
References: <pan.2012.02.24.11.56.04@dracorp.one.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid>
Newsgroups: pl.comp.lang.perl
Subject: Re: Odpowiednik funkcji source z basha
Date: Fri, 24 Feb 2012 11:59:06 +0000 (UTC)
Organization: solani.org
Lines: 42
Message-ID: <slrnjkeuri.tg5.dozzie@jarowit.net>
References: <pan.2012.02.24.11.56.04@dracorp.one.pl>
Mime-Version: 1.0
X-Trace: solani.org 1330084746 20081 eJwFwYEBwCAIA7CXcNJ2nDOU/n/CEmwuHiXBhOE61S8CevTl3B6ntmyRyVtVPbhWdNSs2P4BHPwRJw== (24 Feb 2012 11:59:06 GMT)
X-Complaints-To: abuse@news.solani.org
NNTP-Posting-Date: Fri, 24 Feb 2012 11:59:06 +0000 (UTC)
User-Agent: slrn/pre0.9.9-111 (Linux)
X-User-ID: eJwNyskBwCAIBMCWRNhFylGO/ktI5j1QCtONoGEw+SLlsrgDlDAvndqtDeiS/0L8xI3nIb1OfhFMEFM=
Cancel-Lock: sha1:TkhkITt9ZiGSLjGPrGdYFxXTtrk=
X-NNTP-Posting-Host: eJwNwoERwCAIBLCVrMAD4/gC+49gLzHBh+sKg9r80LnL0fC45SvX1NlHQyiEdpKHMUUZptx4IgMR1Q==
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit