🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

use sctrict i deklaracja my

#852
From: Waldek Grudzien
Date: Tue, 06 Jan 1998 07:21
38 lines
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!waldekg

Show 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