Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Kannabismus

Страницы: [1] 2
1
-2 секунды на исполнение это просто высший пилотаж!

2
Perl / Почему 1.9-1.89= 0.00999999999930878
« : 10 Мая 2006, 15:45:02 »
Вопрос из фака.

perldoc -q "Why am I getting long decimals"
perldoc perlnumber

4
Perl / Залить файл
« : 15 Марта 2006, 19:25:07 »
use CGI qw/:standard/;
$CGI::POST_MAX=1024 * 100;  # max 100K posts

не забудь выставить правильную цифирь

5
Perl / Postgres
« : 10 Марта 2006, 18:30:26 »
Есть phpPgAdmin, который создавался как аналог MyAdmin для postgres.

Здесь: http://phppgadmin.sourceforge.net/

6
Perl / как создать прокси сервер
« : 15 Февраля 2006, 00:16:20 »
Демонов надо запускать из шелла (хотя бы по крону), а не через CGI.

7
Perl / формы
« : 25 Января 2006, 15:06:37 »
Тогда посмотрите на такой вариант:

use CGI qw/:standard/;

param(\'hide_1\',2);
param(\'desc_2\',7);
param(\'desc_1\',5);

my $arr;

# группировка
for(param){
   /^(.+)_(\\d+)$/ or warn "unrecognized param $_";
   $arr->[$2]->{$1}=param($_);
}

# вывод
for my $i (0..$#$arr){
   next unless defined $arr->[$i];
   print qq!$_$i -> $arr->[$i]->{$_} ! for sort keys %{$arr->[$i]};
   print "\\n";
}

perl test.pl
desc1 -> 5 hide1 -> 2
desc2 -> 7


Для удобства можно использовать CGI::FormBuilder

8
Perl / формы
« : 25 Января 2006, 00:46:48 »
$hide_1=2;
$desc_2=7;
$desc_1=5;

my $max_value=4;
for my $digit (1..$max_value){
   for my $prefix (qw(hide_ desc_)){
      if(defined ${"$prefix$digit"}){
         print qq! $prefix$digit=!.${"$prefix$digit"};
      }
   }
   print "\\n";
}

Для CGI.pm соотв. ${"$prefix$digit"} заменить на param("$prefix$digit")
Группируете во внутреннем цикле (если не понятно).

9
Perl / проверка условия
« : 25 Января 2006, 00:23:18 »
Конструкция правильная и непонятно почему она не работает у Вас и работает у меня:
for my $cat_id (1..10){
   print "$cat_id" if $cat_id=~m/^(1|2|3|5|6|7|8|9|10)$/;
   print "-" if($cat_id and ($cat_id==1 or $cat_id==2 or $cat_id==3 or $cat_id==5 or $cat_id==6 or $cat_id==7));
   print "\\n";
}

perl test.pl
1-
2-
3-

5-
6-
7-
8
9
10

10
Сначала разбейте вывод на строки, потом для каждой строки ищите host.
Например:

push @hosts, /\\s+([\\w\\.]+)$/ for split("\\n"$host)
; print 
"hosts: "join(", ", @hosts)

11
Perl / эффективность использования eval?
« : 09 Декабря 2005, 15:26:39 »
Скушаную память покажет ps, а эффективность алгоритма проверяется при помощи Benchmark.


use Benchmark;
my $iterations 10000000;
sub add {
   
1
}
sub mlt {
   
5
}
timethese $iterations, { \'Сложение\' => add(), \'Умножение\' => mlt() });


Benchmark: timing 10000000 iterations of Сложение, Умножение...
  Сложение:  2 wallclock secs ( 0.93 usr +  0.00 sys =  0.93 CPU) @ 10729613.73/s (n=10000000)
 Умножение:  1 wallclock secs ( 0.68 usr +  0.00 sys =  0.68 CPU) @ 14705882.35/s (n=10000000)

В плане производительности лучше обойтись без использования eval, что бы perl скомпилировал скрипт целиком при запуске. Так же это позволяет выявлять ошибки на этапе компиляции, а не во время работы скрипта.

12
Perl / Способы "вытягивания" URL страницы.
« : 02 Декабря 2005, 10:43:23 »
Цитировать
$URL = "http://".$ENV{\'HTTP_HOST\'}.$ENV{\'REQUEST_URI\'};

Вот это не может тормозить выполнение скрипта, ищите проблему в другом месте.

13
Perl / максимальный элемент....
« : 01 Декабря 2005, 19:13:05 »
Да уж, сильно заколдовал :)

; my %hash
; $hash{$_}++ for @arr
; print ((undef) = (sort {$hash{$b} <=> $hash{$a}} keys %hash)[0])

14
Perl / Счёт совпадений.
« : 28 Ноября 2005, 04:23:37 »
$name = "Павлик Вовик Костик Женечка Павлик Костя Павлик";
my %hash = map { $_ => $hash{$_}++ } split(/\\s/,$name);
my $sort_name = join (\',\', sort {$hash{$b} <=> $hash{$a}} keys %hash);

15
Perl / Объем картинки
« : 25 Ноября 2005, 00:54:03 »
попробуйте еще

; use Image::Info qw/image_info/
; my $IMG = $q->upload(\'img\') #CGI
; my $imgi = image_info($IMG)
; if($imgi->{file_ext}!~/jpg|gif|png/)
 { # подходящие форматы
 }

Страницы: [1] 2