Идея в том чтобы пару переменых были доступны отовсюду.Программа составня (состоится из несколько файлов), надо сделать так, чтобы можно было задать ети переменные в первом вызываемом файле, с изначально неопр. значение, на конкр.примере после цикла 'while' чтобы принимали какие-то значения, и дальше ети значения чтобы оставались на протяжение все программой????
system(clear);
package Foo;
our $bar;
$bar = 20;
open( STG, «< settings» ) or die «Can’t open $!»;
while( ) {
$bar =~ /(?<=[ztrq]\:\s).*/;
$baz =~ /(?<=(e{1})\:\s).*/;
$adm =~ /(?<=d\:\s).*/;
$pwd =~ /(?<=^\w{2}\:\s).*/;
}
close STG;
print(«host ${Foo::bar}\nParam1: $baz\nParam2: $adm\npwd:$pwd\n\n\t\t\t\t\t[y..][n]\n»);
Результат:
Use of uninitialized value in concatenation (.) or string at ./test.pl line 33.
Use of uninitialized value in concatenation (.) or string at ./test.pl line 33.
Use of uninitialized value in concatenation (.) or string at ./test.pl line 33.
Host: 20
Param1:
Param2:
pwd:
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Варианта два:
1. Использовать отдельный package, например Configuration и делать $Configuration::var вместо $var.
2. Мусорить в main и делать $main::var вместо $var.
Спасибо,myst!
А на моем примере, можете конкретно показать синтаксис?
Нет нельзя. Или ты понимаешь, что я говорю, или ты не знаешь Perl, а хочешь сфилонить лабу. [censored]
:)
Вообще в сети несложно найти информацию о том, как правильно делать пакеты в перле. Или, например, в книжке «Изучаем глубже» сабж, по-моему, был.
вообще-то я просто так тем не создаю. до создание, первое что перелопатил 'perldoc -f our' в командной строке 'cmd' находится :). Однотипно создал, ощущение такое что что-то с regex’ы буду разбиратся, раз помогать не хотите, узнаю скажу,если хорошое настр. ;) !!
Вот пример «правильного» пакета:
После его подключения через «use» можно спокойно работать с $my_var1 без дополнительных объявлений.
ошибка моя, исправил и все работает!Спасибо!