🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Magiczny parametr.

#52560
From: Stachu 'Dozzie' K.
Date: Sun, 15 Sep 2013 22:22
62 lines
2276 bytes
On 2013-09-15, KEyS <key_studio@wp.pl> wrote:
> Użytkownik Stachu 'Dozzie' K. napisał:
>> On 2013-09-14, KEyS <key_studio@wp.pl> wrote:
>>> Witam,
>>>     mam problem "jak napisać procedurę obsługującą parametr magiczny?"
>>>
>>> ma działać jak np. chomp:
>>>      chomp    -> modyfikuje $_
>>>      chomp($_) działa tak samo.
>>
>> No i w czym masz w ogóle problem? $_ to zmienna globalna.
>>
> i co z tego?

Ano to, że tej zmiennej używa się jak każdej innej.

> dla
>
> sub S(\$){
>    my $S=shift;  #ref($PAR)
>    $$S=11;       #$PAR=11
> }

Tak na boku: zdajesz sobie sprawę z tego, że $_[0] jest aliasem
parametru wywołania i można to wykorzystać?

> Jak napisać funkcję zwracającą wynik przez parametr. W powyższym 
> przykładzie próbowałem to zrobi przez prototyp (\$), ale kiedy nie podam 
> parametru - program czepia się.
>
> Wywołanie:
>
>    X;
>
> kończy się błędem.
>
> Chcę żeby $_ po wywołaniu X miało wartość 11;

No to czemu tej zmiennej nie ustawisz? Oczekujesz voodoo?

> Przy funkcji nie prototypowanej (innej) też nie działa, np:
>
> sub X{
>    my $S=shift;
>    print "$S\n";
> }
>
> $_=1111;
>
>
> Wywołanie:
>
> X;
>
> powinno wypisać 1111, nie robi nic.

No zgadza się (oprócz wypisania pustej linii). A używasz w ogóle w tej
funkcji $_?

-- 
Secunia non olet.
Stanislaw Klekot
Technical Details
Message-ID: <slrnl3ccp2.91u.dozzie@jarowit.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.supermedia.pl!newsfeed.pionier.net.pl!feeder.erje.net!eu.feeder.erje.net!newsfeed.datemas.de!rt.uk.eu.org!aioe.org!.POSTED!not-for-mail
References: <l11q61$8c3$1@node1.news.atman.pl> <slrnl391i7.91q.dozzie@jarowit.net> <l159av$8e9$1@node2.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.supermedia.pl!newsfeed.pionier.net.pl!feeder.erje.net!eu.feeder.erje.net!newsfeed.datemas.de!rt.uk.eu.org!aioe.org!.POSTED!not-for-mail
From: "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid>
Newsgroups: pl.comp.lang.perl
Subject: Re: Magiczny parametr.
Date: Sun, 15 Sep 2013 22:22:26 +0000 (UTC)
Organization: Aioe.org NNTP Server
Lines: 62
Message-ID: <slrnl3ccp2.91u.dozzie@jarowit.net>
References: <l11q61$8c3$1@node1.news.atman.pl> <slrnl391i7.91q.dozzie@jarowit.net> <l159av$8e9$1@node2.news.atman.pl>
NNTP-Posting-Host: 32kR2H3mw0v3HL1sSnS9/A.user.speranza.aioe.org
Mime-Version: 1.0
X-Complaints-To: abuse@aioe.org
User-Agent: slrn/pre1.0.0-18 (Linux)
X-Notice: Filtered by postfilter v. 0.8.2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit