marzenia się spełniają Login
X
Login: 
Password: 

Фотоальбомы / Fotoalbumy
  Подробный ман по коннекту к Oracle и работа с ним
15.07.2010 12:20

http://search.cpan.org/~pythian/DBD-Oracle-1.24b/Oracle.pm

  Тайм-аут
13.07.2010 15:54

Проблема
Вы хотите гарантировать, что продолжительность некоторой операции не превышает заданный промежуток времени. Допустим, вы проводите архивацию файловой системы и хотите прервать ее, если она затянется более чем на час. Или вы хотите, чтобы через час произошло некоторое событие.
Решение
Чтобы прервать затянувшуюся операцию, используйте обработчик SIGALRM и вызовите в нем die. Установите таймер функцией alarm и включите код в eval:

$SIG{ALRM} = sub { die "timeout" };
eval {
  alarm(3600);
  # Продолжительные операции alarm(O);
}
if ($@) {
  if ($@ =~ /timeout/) {
    # Тайм-аут; сделайте то, что считаете нужным
  } else {
    die; # Передать дальше неожиданное исключение
  }
}
  MIME handler
25.05.2010 18:22

[minus@dealers ~]$ ./smail.cgi
Explicitly setting a MIME header field (content-transfer-encoding) is dangerous:
use the attr() method instead.
at ./smail.cgi line 80
e-mail OK
 

  FindBin или как увидеть где стоишь
08.04.2010 17:38

#!/usr/bin/perl -w
use strict;
use feature qw/say/;
use FindBin qw($Bin $Script $RealBin $RealScript);
say "Bin : \"$Bin\"";
say "Script : \"$Script\"";
say "RealBin : \"$RealBin\"";
say "RealScript : \"$RealScript\"";
 

  Я в шоке! TemplateM на ActiveState 5.10 отрабатывает на ура!
07.04.2010 17:55

Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\WINDOWS>ppm install TemplateM
Downloading TemplateM-2.23...done
Unpacking TemplateM-2.23...done
Generating HTML for TemplateM-2.23...done
Updating files in site area...done
7 files installed

C:\WINDOWS>perl -e "use TemplateM"

C:\WINDOWS>

  Установка Apache 2.2 + ActivePerl 5.10 + mod_perl на WindowsXP
07.04.2010 14:49

1. Установка компонентов:

Устанавливаем ActivePerl-5.10.1.1007-MSWin32-x86-291969.msi с сайта http://www.activestate.com в папку C:/Perl (по умолчанию)

Устанавливам httpd-2.2.15-win32-x86-no_ssl.msi с сайта http://apache.org в папку C:/Apache (при настройке указать надо localhost в 2 поля адресов - и домена и хоста)

Затем идем сюда и внимательно чтаем: http://perl.apache.org/docs/2.0/os/win32/install.html#PPM_Packages

Находим секцию примеров с вхождением фразы "ActivePerl 10xx" и выполняем то что указано:

ppm install http://cpan.uwinnipeg.ca/PPMPackages/10xx/mod_perl.ppd

2. Настройка httpd.conf

После установки нужно сделать примерно это в httpd.conf (обратите внимание на C:/Path/to/Perl/bin/):

LoadFile "C:/Path/to/Perl/bin/perl510.dll"
LoadModule perl_module modules/mod_perl.so
Include conf/extra/httpd-modperl.conf

3. Создаем файл "conf/extra/httpd-modperl.conf" с конфигурацией:

PerlRequire "conf/extra/startup.pl"


      SetHandler modperl
      PerlOptions +GlobalRequest
      PerlResponseHandler Apache2::Status

4. создаем там-же файл startup.pl с примерно таким содержимым:

# SECTION INIT: USE ModPerl modules 
use ModPerl::Util (); #for CORE::GLOBAL::exit

use Apache2::Filter ();
use Apache2::FilterRec ();
#use base qw(Apache2::Filter);

use Apache2::Const qw(-compile :common);
use Apache2::RequestRec ();
use Apache2::RequestIO ();
use Apache2::RequestUtil ();
use Apache2::ServerRec ();
use Apache2::ServerUtil ();
use Apache2::Connection ();
use Apache2::Log ();

use APR::Const qw(-compile :common);
use APR::Table ();
use APR::Bucket ();
use APR::Brigade ();

use ModPerl::Registry ();
use APR::Const -compile => ':common';

# SECTION INIT: USE Other modules
use Apache2::Status;
use Apache::DBI;

1;

5. Запускаем ppm без аргументов и ставим через него модули:

Apache-DBI

Готово! можно проверять так:

http://localhost/perl-status

  Склонение в зависимости от числительных
03.04.2010 11:00

Первый способ (JavaScript):
function declOfNum(number, titles) {
    cases = [2, 0, 1, 1, 1, 2];
    return titles[ (number%100>4 && number%100<20)? 2 : cases[(number%10<5)?number%10:5] ];
}
declOfNum(foundedCount, ['Найдена ', 'Найдено ', 'Найдено '])

Второй способ (JavaScript):
function PluralNumber(count, arg0, arg1, arg2, arg3) {
    var result = arg0;
    var last_digit = count % 10;
    var last_two_digits = count % 100;
    if (last_digit == 1 && last_two_digits != 11) result += arg1;
    else if ((last_digit == 2 && last_two_digits != 12)
        || (last_digit == 3 && last_two_digits != 13)
        || (last_digit == 4 && last_two_digits != 14))
        result += arg2;
    else
        result += arg3;
    return result;
}
PluralNumber(days, ‘ д’, ‘ень’, ‘ня’, ‘ней’)

Третий способ (perl):
sub plural_form {
    my ($n, $form1, $form2, $form5) = @_;
    $n = abs($n) % 100;
    my $n1 = $n % 10;
    return $form5 if ($n > 10 && $n < 20);
    return $form2 if ($n1 > 1 && $n1 < 5);
    return $form1 if ($n1 == 1);
    return $form5;
}
plural_form($n, "закладка", "закладки", "закладок")
 

  Последнее
29.03.2010 16:56

sub _getTariffsAsHashRef {
  my $d = shift || return {};
  my $c = '';
  $c = $1 if $d =~ /\<select\s+name\=\"DAFV_S_0030_F\".+?\>(.+)\<\/select\>/is;
  return {} unless $c;
  my %h;
  $c =~ s/\<option.+?value\=\"(.*?)\".*?\>(.*?)\r*\n*(?=\<|$)/$h{lc($2||'none')}=$1||''/ieg;
  return \%h;
}

  У провайдера нет нормального FTP моста!
28.03.2010 19:41

perl -e 'for (my $i=13;$i<=35;$i++){system("fetch http://reman.telenet.ru/ftp/pub/FreeBSD/distfiles/bash/bash40-0$i")}'

  Новое хорошо познается в сравнении
11.03.2010 17:40

Нчинаю осваивать на практике use Moose

http://habrahabr.ru/blogs/perl/59512/

THUD XYZZY PLUGH FRED WALDO GARPLY
GRAULT CORGE QUUZ QUX BAZ BAR FOO

Już dostępnie

Tagi


Linki zewnętrzne


Moje ostatnie projekty


Inne projekty na tej stronie


Projekty na obcych stronach

Valid XHTML 1.0 Transitional

Valid CSS!

проверить ip адрес

1 2 3

Copyright © 1998-2010 Serż Minus. All rights reserved