последовательный вывдо на Perl
1710
1
Очень нужен скрипт на perl выводящий последовательно слово из базы. Именно последовательно, т.е. при перезагрузке должно быть другое слово. Дойдя до конца списка должен возвращаться в начало... поможите, кто чем может
#! /usr/bin/perl
# считали базу в массив
open (FL, "ФАЙЛ_БАЗЫ") || die "Error";
@base=;
close(FL);
# считали файл с позицией вывода в массив
open (FL, "ФАЙЛ_С_ПОЗИЦИЕЙ_ВЫВОДА") || die "Error";
@position=;
close(FL);
$current=$position[0]; # тут позиция вывода
$current++; # увеличило на единичкк
if ($current > $#base) $current=0; # если больше чем длина базы, начинаем читать сначала
$result=$base[$current]; # а вот и результат!!! Делаем с ним че хотим.
$position[0]=$current;
# сохраняем новую позицию
open (FL, ">ФАЙЛ_С_ПОЗИЦИЕЙ_ВЫВОДА") || die "Error";
print FL @position;
close(FL);
Ну и конечно ФАЙЛ_С_ПОЗИЦИЕЙ_ВЫВОДА надо создать и поместить туда нолик.
короче, учите доки, а?
# считали базу в массив
open (FL, "ФАЙЛ_БАЗЫ") || die "Error";
@base=;
close(FL);
# считали файл с позицией вывода в массив
open (FL, "ФАЙЛ_С_ПОЗИЦИЕЙ_ВЫВОДА") || die "Error";
@position=;
close(FL);
$current=$position[0]; # тут позиция вывода
$current++; # увеличило на единичкк
if ($current > $#base) $current=0; # если больше чем длина базы, начинаем читать сначала
$result=$base[$current]; # а вот и результат!!! Делаем с ним че хотим.
$position[0]=$current;
# сохраняем новую позицию
open (FL, ">ФАЙЛ_С_ПОЗИЦИЕЙ_ВЫВОДА") || die "Error";
print FL @position;
close(FL);
Ну и конечно ФАЙЛ_С_ПОЗИЦИЕЙ_ВЫВОДА надо создать и поместить туда нолик.
короче, учите доки, а?