Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Pavel Ammosov                        2:5020/52      30 Jul 2001  14:43:29
 To : Al Zaharov
 Subject : Re: посмотрите, плз, скрипт (рабочий), что с ним не так?
 -------------------------------------------------------------------------------- 
 
 
 AZ>#!/usr/bin/perl -w
 
 AZ>require 5.004;
 AZ>use locale;
 AZ>use POSIX qw (locale_h);
 AZ>use CGI qw (:standard);
 AZ>use strict;
 
 AZ>&main;
 
 AZ>sub main {
 AZ>$main::fetchipac = "/usr/local/sbin/fetchipac";
 
 тут будут проблемы, если станешь запускать из под Apache::Registry (mod_perl).
 Выбрось $main:: и перепиши это в виде 
 use vars qw(%cfg);
 $cfg{'fetchipac'} = "/usr/local/sbin/fetchipac";
 $cfg{'ipacsum'} = "/usr/local/sbin/ipacsum";
 ...
 AZ>$main::fetchipac_options = "";
 AZ>$main::ipacsum = "/usr/local/sbin/ipacsum";
 
 AZ>######  There are no user adjustable parameters below this line #######
 AZ>#######################################################################
 
 AZ>my $now = time();
 AZ>$main::me = $0;
 AZ>$main::me =~ s|^.*/([^/]+)$|$1|;
 AZ># calculate time zone offset in seconds - use difference of output of date
 AZ># command and time function, round it
 AZ>$main::tzoffset = 0;                    # ! makeunixtime needs this!
 AZ>$main::tzoffset = int( ($now-makeunixtime(`date +"%Y%m%d%H%M%S"`))
 
 / 60) *60;
 
 `date` давить.  perldoc -f time,  perldoc -f localtime, man POSIX, 
 искать strftime.
 
 AZ>if ($q->param('showpic')) {
 AZ>        &print_pic($q->param('showpic'), $q->param('frame'));
 
 ты уверен, что тебе не достаточно просто print_pic(...), без & в начале?
 AZ>print "<TABLE align=$main::st_align CELLPADDING=4 CELLSPACING=2 BORDER=1>";
 
 Я традиционно рекомендую выносить весь HTML в отдельные шаблоны
 и использовать для этого Template Toolkit (http://www.tt2.org), но
 тут у тебя маленький скрипт, так что это сойдет, наверно.
 
 AZ>open(DATA, "$main::fetchipac $main::fetchipac_options ".
 AZ>                                        "-t$starttime,$endtime -m|") 
 AZ>        || die "can't run $main::fetchipac\n";
 
 AZ>my $count=<DATA>;
 AZ>while(<DATA>)
 AZ>{
 AZ>        if (/^(.)\s(\d+)$/) {
 AZ>                my $ts = $2;
 AZ>                if ($1 eq "*") {
 AZ>                        push(@main::timestamps, $ts);
 AZ>                }
 AZ>        }       
 AZ>}
 AZ>close DATA;
 AZ>sub makeunixtime {
 
 Я вообще не понял, чего эта функция делает?
 AZ>sub print_pic {
 AZ>        my $pic=shift;
 AZ>        my $frame=shift;
 AZ>        $pic=~s/\_/ /g;
 AZ>        if (defined($pic) && ($ENV{'HTTP_REFERER'} eq url())) {
 
 REFERER никто выставлять не обязан, так что ты запросто можешь отказать
 вполне легальному посетителю в обслуживании. В тоже время, кто угодно
 может выставить какой-угодно реферер и посмотреть на картинки.
 
 AZ>                open (DATA, "$main::ipacsum -f\"$pic\" ".
 AZ>                    "-t\"$frame\" --png --png-asis --png-to-stdout|")
 AZ>                    || die "$main::me: can't run $main::ipacsum\n";
 AZ>                binmode DATA;
 AZ>                binmode STDOUT;
 AZ>                print <DATA>;
 AZ>                close DATA;
 AZ>        } else {
 AZ>                print header, start_html('Error'),
 AZ>                 h1({-align=>"center"}, 'This script is not intended for',
 AZ>                'such a use. Sorry for any inconveniecies.'), end_html;
 AZ>        }
 AZ>        exit;
 AZ>}       
 -- 
 Pavel Ammosov                                               O    \
 apavel@aha.ru                                                 __  )
 http://isabase.philol.msu.ru/~apavel/                             )
 wget -O - isabase.philol.msu.ru/~apavel/key.asc|pgp -fka    O    /
 
 --- FIDOGATE 4.4.0-snp10
  * Origin: Zenon N.S.P. news server (2:5020/52.0)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 посмотрите, плз, скрипт (рабочий), что с ним не так?   Al Zaharov   28 Jul 2001 14:19:36 
 Re: посмотрите, плз, скрипт (рабочий), что с ним не так?   Pavel Ammosov   30 Jul 2001 14:43:29 
 Re: посмотрите, плз, скрипт (рабочий), что с ним не так?   Al Zaharov   01 Aug 2001 00:15:12 
 Re: посмотрите, плз, скрипт (рабочий), что с ним не так?   Pavel Ammosov   02 Aug 2001 15:25:58 
 Re: посмотрите, плз, скрипт (рабочий), что с ним не так?   Al Zaharov   05 Aug 2001 19:16:28 
 посмотpите, плз, скpипт (pабочий), что с ним не так?   Konstantin Petrenko   14 Aug 2001 12:38:38 
 Re: посмотрите, плз, скрипт (рабочий), что с ним не так?   Pavel Ammosov   14 Aug 2001 17:55:11 
 Re: посмотрите, плз, скрипт (рабочий), что с ним не так?   Al Zaharov   16 Aug 2001 09:18:06 
Архивное /ru.cgi.perl/30202b2da7579.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional