• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

  • Автор темы Psixo
  • Дата начала
P

Psixo

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

arto

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

Psixo

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

Psixo

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

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

arto

вроде из кода ясно, что не создается.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!