🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Dziedziczenie obiektów (moduły w PERL'u)

#847
From: Piotr Piatkowski
Date: Mon, 05 Jan 1998 15:21
37 lines
2031 bytes
Waldek Grudzien <waldekg@uhc.lublin.pl> wrote:

:> Jednym z ograniczeń jakie wprowadza use strict, jest zakaz używania 
:> zmiennych globalnych, z wyjątkiem dwóch sytuacji - gdy taka zmienna 
:> jest zadeklarowana przez dyrektywę "use vars", lub gdy użyjemy pełnej
:> nazwy (wraz z nazwą pakietu). 

: No dobrze, ale czy można jakoś zmusić perl'a do działania tego mechanizmu
: również na skalarach ? 
: Przykładowo mamy skrypt :

: #!/usr/bin/perl
: use strict;
: my @b=("  "," \t ");
: print "\n",@b,"\n";
: print $a,",",$^O;

: Uruchomienie nie powoduje żadnego komunikatu błędu (mimo, że $a nie jest 
: zadeklarowane w ogóle). 

Ha, śmieszne :-)

Już wiem - co chodzi, perl się tak zachowuje wyłącznie dla zmiennych 
$a i $b - dla wszystkich innych zgłasza błąd:

Global symbol "c" requires explicit package name at ./zz line 12.

Jak przypuszczam, wynika to z tego że zmienne te są traktowane nieco
specjalnie, a mianowicie w funkcji sort wskazują na elementy do
porównania:

sort { $a <=> $b } @list;

Wniosek - nie używać zmiennych $a i $b :-)

-- 
Piotr Piątkowski, Uczelniane Centrum Informatyki, AGH Krakow, POLAND
Technical Details
Message-ID: <68qtq7$r1b$1@galaxy.uci.agh.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uucp-gw.cyf.gov.pl!news.wnaft.agh.edu.pl!agh.edu.pl!agh.edu.pl!not-for-mail
References: <Pine.HPP.3.96.971229075637.10451B-100000@clinicom.uhc.lublin.pl> <688o8g$lc6$1@galaxy.uci.agh.edu.pl> <Pine.HPP.3.96.980105134610.28842G-100000@clinicom.uhc.lublin.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uucp-gw.cyf.gov.pl!news.wnaft.agh.edu.pl!agh.edu.pl!agh.edu.pl!not-for-mail
From: Piotr Piatkowski <kompas@galaxy.uci.agh.edu.pl>
Newsgroups: pl.comp.lang.perl
Subject: Re: Dziedziczenie obiektów (moduły w PERL'u)
Date: 5 Jan 1998 16:21:43 +0100
Organization: University of Mining & Metallurgy
Lines: 37
Message-ID: <68qtq7$r1b$1@galaxy.uci.agh.edu.pl>
References: <Pine.HPP.3.96.971229075637.10451B-100000@clinicom.uhc.lublin.pl> <688o8g$lc6$1@galaxy.uci.agh.edu.pl> <Pine.HPP.3.96.980105134610.28842G-100000@clinicom.uhc.lublin.pl>
NNTP-Posting-Host: galaxy.uci.agh.edu.pl
Mime-Version: 1.0
X-Newsreader: TIN [UNIX 1.3 unoff BETA 971018; sun4m SunOS 5.5.1]
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit