1

Тема: обсудим скрипт

Доброе время сутки, скажите пожалуйста все правильно в этом скрипте, внутри цикла не важно, можете не обращать внимание, я хочу узнать правильно написан код или нет, если есть ошибки подскажите пожалуйста

use DBI;
        
my $host = "localhost"; # MySQL-сервер нашего хостинга
my $port = "3306"; # порт, на который открываем соединение
my $user = "ПОЛЬЗОВАТЕЛЬ_БД"; # имя пользователя
my $pass = "password"; # пароль
my $db = "ИМЯ_БД"; # имя базы данных 

$dbh = DBI->connect("DBI:mysql:$db:$host:$port",$user,$pass);
  
sub ices_init {
        print "Perl subsystem Initializing:\n";
        $jingle = 0;
        return 1;
}
sub ices_shutdown {
        print "Perl subsystem shutting down:\n";
}
sub ices_get_next {
    $sql="SELECT `time` FROM `timeline` WHERE `farmId`='1'"; // в строке time записан сколько раз будем подключать рекламы  в одном часе, например там 4
    $qu=$dbh->Query($sql); //запрос
    @arr=$qu->FetchRow; // массив
    
    print "Perl subsystem quering for new track:\n"; // не знаю для чего

    $time=0;
    @time_arr="";
    for($i=0;$i<$arr[0];$i++){ //$arr[0] ровно 4
        $chas=60 / $arr[0]; // 60 / 4 = 15
        $time += $chas; // 15 потом 30 потом 45 потом 60
        $time_arr[$i] = $time - 5; // снимаем 5 чтобы получилось от 10 до 15, от 25 до 30
    }
    
    use Time::localtime;
    $tm = localtime;
    $min = $tm->min; //получаем текущий минут
      if(@time_arr[$min]!=""){ // проверяем если в массиве $time_arr есть текущий минута то есть не пустой  подключаем рекламы
        @music=`/bin/ls -1 /home/user/reklam/*.mp3`; 
    }
    else{ // если нет то музыку
        @music=`/bin/ls -1 /home/user/music/*.mp3`;
    }
    $num = scalar (@music);
    $play=int(rand($num));
    chomp $music[$play];
    return $music[$play];
}
return 1;

Отредактировано Razo (20-10-2012 03:51:25)