Article View: pl.comp.lang.perl
Article #847Re: Dziedziczenie obiektów (moduły w PERL'u)
From: Piotr Piatkowski
Date: Mon, 05 Jan 1998 15:21
Date: Mon, 05 Jan 1998 15:21
37 lines
2031 bytes
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-mailReferences:
<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