Article View: pl.comp.lang.perl
Article #52406Re: Odpowiednik funkcji source z basha
From: Stachu 'Dozzie' K.
Date: Fri, 24 Feb 2012 11:59
Date: Fri, 24 Feb 2012 11:59
42 lines
2131 bytes
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-mailReferences:
<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