On 2013-09-15, KEyS <
key_s...@wp.pl> wrote:
> U�ytkownik Stachu 'Dozzie' K. napisa�:
>>> 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 $_?