Программирование > Perl

Динамическое создание массивов

(1/2) > >>

Yourock:
Люди добрые, подскажите, чем сможете.
Стоит задача динамического создания массива типа


#!/usr/bin/perl -w
use strict;

for (1..10)
{
   my @array$_; # my @array1; my @arrayn; my @array10;
}
... чтобы получилось, как в комменте, то есть чтобы дальше можно было работать, например, с @array3 или @array5.
А как это всё сделать - не знаю :(

arto:
опишите задачу.

demond:
так пойдет? :-)

for (1..10)
{
   $array[$_]="num".$_;
}
$i=0;
foreach (@array) { @{$_} = ($i.1,$i.2,$i.3,$i.4,$i.5,$i.6); $i++}


foreach (@num1){print $_." ";}
print "\\n";
foreach (@num2){print $_." ";}
print "\\n";
foreach (@num3){print $_." ";}

Yourock:
Подход отличный! Спасибо.
Но включенный use strict; не пропускает - выползают ошибки типа
--- Код: ---Global symbol "$i" requires explicit package name at E:\\www\\cgi-bin\\test.pl line 9.
--- Конец кода ---

demond:
Может я чего-то не понимаю, но strict требует объявлять все переменные перед их использованием, т.е. до исполнения кода компилятор создает все переменные (выделяет под них память). Вам же необходимо создавать переменные в процессе исполнения кода, что противоречит требованиям прагмы strict. Если найдете решение, обязательно напишите.
Могу еще посоветовать форум forum.vingrad.ru. Там в разделе perl много хороших программистов, я думаю они Вам помогут, если это возможно, или объяснят, почему это не возможно! :-)

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии