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

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


Сообщения - unplugged

Страницы: [1]
1
Perl / При uploade скрипт сохраняет tmp
« : 23 Мая 2007, 18:49:06 »
Если получаешь дескриптор $spic с помощью CGI, поройся получше в его доках - где-то в них вроде был параметр, который за это отвечает, точно не помню какой. В других библиотеках это тоже без проблем настраивается.

2
Perl / Автогенерация параметров функции
« : 28 Апреля 2007, 13:10:50 »
Если я все правильно понял, задача решается просто:
  
sub func 
{
    
my $a shift;
    
my @param split /\\,/ , $a;
    &
EXE( \\@param );
}

Имхо, функции проще передавать не массив, а ссылку на него.

3
Perl / Ругается!
« : 25 Апреля 2007, 15:41:30 »
Вариант номер раз - руками распаковать и установить модули в директорию со скриптом.
Вариант номер два - менять хостера :)

4
Perl / Глюк с картинкой
« : 24 Апреля 2007, 16:16:44 »
Для решения проблемы неплохо было бы взглянуть на код, отдающий картинку.

5
Perl / Организация временных ссылок
« : 24 Апреля 2007, 16:12:33 »
Вполне возможно, тут дело не в ИЕ, а в реестре винды - скорее всего для файлов JPG там прописан по дефолту ИЕ 7. Только что проверял в своем ИЕ 7 - он нормально скачивает, по дефолту для жпегов у меня - стандартная программа для просмотра файлов.
Кстати, на решение по докачке интересно было бы взглянуть - пригодится  на будущее :)

6
Perl / Организация временных ссылок
« : 23 Апреля 2007, 00:13:09 »

print $q->header
  \
'-Content-Transfer-Encoding\' => \'binary\',
  type                          => \'application/force-download\', 
  \'-Content-Length\'           => $filesize, 
  \'-Content-Disposition\'=>\'attachment; filename=\'.$args->{fname} 
);

open IMG, "blabla";
binmode IMG;

my $buffer;
while( sysread(IMG,$buffer,100) ) {
        print $buffer;
}

close( IMG );

Насчет докачки - уверен, что можно сделать, просто мне этого не
доводилось пока делать. Говорят, готовое решение должно быть
в Perl Cookbook - не знаю, сам не проверял.

7
Perl / Организация временных ссылок
« : 22 Апреля 2007, 22:58:27 »
А что мешает положить все файлы в одну папку, запретить к ней доступ через .htaccess, а потом отдавать их все через один скрипт - открывать им файл и потом через sysread отдавать содержимое?
Думаю, в этом случае его будет невозможно обойти.
Что-то похожее на PHP обсуждалось тут

8

#!/usr/bin/perl
use strict;

my $path = "./";
my @pic = ( "a", "b", "c", "d", "e" );
my $ext = "gif";

print "Content-type: image/$ext\\n\\n";
open IMG, $path.$pic[int rand scalar(@pic)].".".$ext;
binmode IMG;

my $buffer;
while( sysread(IMG,$buffer,100) ) {
        print $buffer;
}

close( IMG );

9
Perl / format STDOUT и двумерный массив
« : 18 Апреля 2007, 18:44:39 »
Впервые вижу пример использования format-write в перле :)
По-моему, для форматирования текста вполне достаточно (s)printf:

#!/usr/bin/perl
use strict;

my @a;
while ( 
my $str = <> ) {
        
chomp $str;
        
last if lc($streq "quit";
        
my @split split /\\\\|/, $str;
        
push @a, \\\\@split;
}

for(
my $y=0$y<@a$y++) {
    for(
my $x=0$x<@{$a[$y]}; $x++) {
        
printf "%10s"$a[$y]->[$x];
    }
    print 
"\\n";
}

P.S. Движок почему-то тупо вырезает обратные слеши внутри тегов PHP. Должно быть:
my @split = split /\\|/, $str;
push @a, \\@split;

10
Perl / format STDOUT и двумерный массив
« : 18 Апреля 2007, 15:51:34 »
Во-первых, очень сомневаюсь, что вот эта конструкция может корректно работать:
push @a, [split /|/] while <>;
| - специальный символ в перловых регекспах, надо ескейпить, и лучше бы результат split сохранять в отдельном массиве. Получится подлиннее, но зато работает:

#!/usr/bin/perl
use Data::Dumper;
while ( 
my $str = <> ) {
        
chomp $str;
        
my @split split /\\|/, $str;
        
push @a, \\@split;
}

#push @a, [split /\\|/] while <> ne "quit\\n";
#print Dumper( @a );

for(my $y=0$y<@a$y++) {

    for(
my $x=0$x<@{$a[$y]}; $x++) {

format STDOUT=
@<<<<<<<<<<<<<<<<<<<<    @<<<<<<<<<<<<<<<<<<<<     @<<<<<<<<<<<<<<<<<<<<     @<<<<<<<<<<<<<<<<<<<<     @<<<<<<<<<<<<<<<<<<<<     @<<<<<<<<<<<<<<<<<<<<     @<<<<<<<<<<<<<<<<<<<<     @<<<<<<<<<<<<<<<<<<<<
$a[$y]->[$x],$a[$y]->[$x],$a[$y]->[$x],$a[$y]->[$x],$a[$y]->[$x],$a[$y]->[$x],$a[$y]->[$x],$a[$y]->[$x]
.
write;

    }

}


Остальное не трогал - зачем вообще выводить по восемь одинаковых слов в строке :)?

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