Article View: pl.comp.lang.perl
Article #852use sctrict i deklaracja my
From: Waldek Grudzien
Date: Tue, 06 Jan 1998 07:21
Date: Tue, 06 Jan 1998 07:21
38 lines
1765 bytes
1765 bytes
Mam taki krótki programik :
_______________________________________________________________________
#!/usr/bin/perl
use strict;
my $c = "aaaaa";
print $c;
&test;
sub test {
print "\n",$c,"\n";
};
_______________________________________________________________________
Zgodnie z logiką użycie $c w funkcji test (łącznie z use strict) powinno
dać komunikat błędu
(zgodnie z manualem (do deklaracji my):
Unlike dynamic variables created by the ``local'' statement, lexical
variables declared with ``my'' are totally hidden from the outside
world, including any called subroutines (even if it's the same
subroutine called from itself or elsewhere--every call gets its own
copy).
),
tak się jednak nie dzieje. Jeśli $c jest zadeklarowane poprzez składnię
local perl wypluwa komunikat błędu.
Ktoś ma jakieś pomysły dlaczego tak się dzieje ?
Jak zmusić perl'a do sprawdzania "lokalności deklaracji" ?
Pozdrawiam,
Waldek Grudzień
///////////////////////////////////////////
// http://www.uhc.lublin.pl/~waldekg/ //
// Lublin/Lubartów, Poland //
\\ University Health Care \\
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Technical Details
Message-ID:
<Pine.HPP.3.96.980106080208.22789B-100000@clinicom.uhc.lublin.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!lublin.pl!clinicom.uhc.lublin.pl!waldekgShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!lublin.pl!clinicom.uhc.lublin.pl!waldekg From: Waldek Grudzien <waldekg@uhc.lublin.pl> Newsgroups: pl.comp.lang.perl Subject: use sctrict i deklaracja my Date: Tue, 6 Jan 1998 08:21:38 +0100 Lines: 41 Message-ID: <Pine.HPP.3.96.980106080208.22789B-100000@clinicom.uhc.lublin.pl> NNTP-Posting-Host: clinicom.uhc.lublin.pl Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit