﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Веб-программирование / Perl  / Видимость в перле / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Wed, 03 Dec 2008 05:55:36 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Видимость в перле</title><link>http://www.relib.com/forums/Topic856342-18-1.aspx</link><description>Ну да :). Переменная видна в области блока только если объявлена как my или local (если local, то также будет видна всем функциям которые будут вызваны из этого блока). То есть local немного шире задает область видимости.</description><pubDate>Mon, 07 Feb 2005 17:23:00 GMT</pubDate><dc:creator>PoizOn</dc:creator></item><item><title>RE: Видимость в перле</title><link>http://www.relib.com/forums/Topic856342-18-1.aspx</link><description>мдя&lt;BR&gt;прикольный синтаксис у перла</description><pubDate>Mon, 07 Feb 2005 17:20:00 GMT</pubDate><dc:creator>serrg</dc:creator></item><item><title>RE: Видимость в перле</title><link>http://www.relib.com/forums/Topic856342-18-1.aspx</link><description>Так он же объявляется у тебя как глобальный - даже внутри функции.&lt;BR&gt;Решение этой проблемы - использование my:#!/usr/bin/perl&amp;amp;Scan_Files();sub Scan_Files&lt;BR&gt;{&lt;BR&gt;my @SEARCH_FILES=(&lt;BR&gt;[&amp;quot;../../htdocs/template/ansi.html&amp;quot;,&amp;quot;index.html?p=122&amp;quot;],&lt;BR&gt;[&amp;quot;../../htdocs/template/apache.html&amp;quot;,&amp;quot;index.html?p=541&amp;quot;]);&lt;BR&gt;...&lt;BR&gt;}print scalar @SEARCH_FILES;результат:Name &amp;quot;main::SEARCH_FILES&amp;quot; used only once: possible typo at test.pl line 12.</description><pubDate>Mon, 07 Feb 2005 17:02:00 GMT</pubDate><dc:creator>PoizOn</dc:creator></item><item><title>Видимость в перле</title><link>http://www.relib.com/forums/Topic856342-18-1.aspx</link><description>Имеется вот такой код :#!/usr/bin/perl&lt;BR&gt;package Search;&lt;BR&gt;@SEARCH_FILES_RESULTS=(0,0,0,0);&lt;BR&gt;&amp;amp;Scan_Files();&lt;BR&gt;for ($i=0;$i&amp;lt;2;$i++)&lt;BR&gt;{&lt;BR&gt;   if (@SEARCH_FILES_RESULTS[$i] ==0)&lt;BR&gt;   {&lt;BR&gt;     print &amp;quot;&amp;lt;a href=\&amp;quot;$SEARCH_FILES[$i][1]\&amp;quot; target=\&amp;quot;_blank\&amp;quot;&amp;gt;$SEARCH_FILES[$i][1]&amp;lt;/a&amp;gt;&lt;br&gt;&amp;quot;;&lt;BR&gt;   }&lt;BR&gt;}&lt;BR&gt;sub Scan_Files&lt;BR&gt;{&lt;BR&gt;@SEARCH_FILES=(&lt;BR&gt;[&amp;quot;../../htdocs/template/ansi.html&amp;quot;,&amp;quot;index.html?p=122&amp;quot;],&lt;BR&gt;[&amp;quot;../../htdocs/template/apache.html&amp;quot;,&amp;quot;index.html?p=541&amp;quot;]);&lt;BR&gt;...&lt;BR&gt;}Обьясните мне - почему это работает ?&lt;BR&gt;Я имею ввиду , что массив @SEARCH_FILES обьявляется внутри функции &lt;BR&gt;Scan_Files , но виден почему-то за ее пределами ...</description><pubDate>Mon, 07 Feb 2005 15:32:00 GMT</pubDate><dc:creator>serrg</dc:creator></item></channel></rss>