Оператор интервала в Perl ..

Psixo

Member
21.06.2006
11
0
#1
Собственно в чем и вопрос,возможно ли изменить шаг оператора диапозона,по умолчанию он = 1,но если интервал огромный,как в моем случаи и по нему нужно идти с гораздо большим шагом,как выполнить.
просто по умолчанию он создает массив размером равным концу интервала,никаких ресурсов не хватит.
Или мне прийдется написать свой код?
 

arto

Member
21.06.2006
10
0
#2
# time perl -le 'foreach (1..$ARGV[0]) { print $_; last }' $[2**31-2]
1
Real: 0.05s User: 0.00s System: 0.00s
#
 

Psixo

Member
21.06.2006
11
0
#3
arto, я вот только не понял что дает это:
Код:
 $[2**31-2]
. Если можеш разъясни,а то я не врубился :(
 

Psixo

Member
21.06.2006
11
0
#5
Сколько оно равно это понятно,таким образом можно изменить шаг? и создается ли массив размером $ARGV[0] или нет,если да,то тогда не подходит,вся память будет исчерпана,,свой код я уже написал,но не хотелось бы мудрить и если есть возможность,воспользоваться стандартными средствами Perl-а.

П.С.: дело в том что это выполняется в скрипте сервера к которому могут обращаться одновременно много пользователеё, при алгоритме с созданием массива одноименной размерности :( сервак просто ляжет