[Perl] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    не много не понял ? тоесть надо сохранять в 8859-1?????


    HTML лежит в папке www на денвере ведет к файлу .cgi
    который лежит в папке cgi-bin это как называется с клиентской или серверной ?
     
  2. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    В скрипте укажите кодировку
    Code:
    print header ('-type' => 'text/html', '-charset' => 'utf-8');
    
    А также сообщите апачу в конфиге
    Code:
    AddDefaultCharset UTF-8
    
     
  3. mazaxaka

    mazaxaka Elder - Старейшина

    Joined:
    15 Feb 2008
    Messages:
    268
    Likes Received:
    35
    Reputations:
    0
    помогите поставить лайк под авой в вк. вот мой код
    но какотого Х оно не ставит
     
  4. AtomoS

    AtomoS New Member

    Joined:
    17 Feb 2010
    Messages:
    88
    Likes Received:
    1
    Reputations:
    0
    не подкинет кто функцию для перевода времени в формат интернетного ?
     
  5. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Code:
    perl -le 'print "Internet Time @", int (((time + 3600) % 86400)/86.4);'
    
    А также модуль DateTime::Format::IBeat
     
    #1885 krypt3r, 12 Sep 2011
    Last edited: 12 Sep 2011
    1 person likes this.
  6. 4upakabr0

    4upakabr0 Member

    Joined:
    14 May 2008
    Messages:
    124
    Likes Received:
    23
    Reputations:
    0
    Отправляю POST'ом некие данные среди которые русский текст. Серверный скрипт потом этот текст шлет мне на мыло - но приходит абракадабра. Если работать с серверным скриптом через мэбморду- все гуд. Как мне нужно обработать русский текст чтобы он доходил к адресату. ЧТо-то тут совсем не пойму с этими кодировками.
     
  7. brob0ss

    brob0ss New Member

    Joined:
    20 Jul 2007
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    самое простое - это отправлять post запросом текст в той же кодировке что и страница вебморды
     
  8. 4upakabr0

    4upakabr0 Member

    Joined:
    14 May 2008
    Messages:
    124
    Likes Received:
    23
    Reputations:
    0
    cp1251 - юзаю Encode::decode(). не помогает.
    Мб закодировать в хтмл кодировочку? нно как.
     
    #1888 4upakabr0, 23 Sep 2011
    Last edited: 23 Sep 2011
  9. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    вОБЩЕМ ВОЗНИКЛА ТАКАЯ ПРОБЛЕМА

    нужно курлом через пост запрос отправить текст такого содержания

    www.google.com.ua/search?client=opera&rls=ru&q=http://bot.hhos.ru/&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest



    но проблема в том што курл обрывает текст на етом знаке &

    как быть?
     
  10. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Для начала, ваш код.
     
  11. qaz

    qaz Elder - Старейшина

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    PHP:
    $mypost "http://www.google.com.ua/search?client=opera&rls=ru&q=http://bot.hhos.ru/&sourceid=opera&ie=utf-8&oe=utf-8&channel=suggest";



    $cur=curl_init();       
    curl_setopt($curCURLOPT_URL,'http://site..ru/text.php' );    
    curl_setopt($cur,CURLOPT_USERAGENT,"Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.8.131 Version/11.10");    
    curl_setopt($cur,CURLOPT_COOKIEJAR,'cookie.txt');       
    curl_setopt($cur,CURLOPT_COOKIEFILE,'cookie.txt');      
    curl_setopt($cur,CURLOPT_RETURNTRANSFER,1);    
    curl_setopt($curCURLOPT_POST1);         
    curl_setopt($curCURLOPT_POSTFIELDS"my=$mypost");    
     
    curl_exec($cur);   
    curl_close($cur);  
     
  12. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    qaz, вы ошиблись темой?
    Code:
    array( 'my' => $mypost )
     
  13. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    кто юзает Tk помогите

    Как сделать запретить разворачиваться на весь экран а имело строго фиксированую длину и высоту ??

    При нажатии на кнопку предлагалось выбрать и открыть файл содержимое которого при открытии отобразилось в окне text ??

    Подскажите русские книги, мануалы, статьи по Tk
     
  14. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Code:
    my $main = MainWindow->new();
    $main->resizable(0,0);
    
    Повесить на кнопку код типа
    Code:
    my $file = $main->getOpenFile;
    
    а потом вывод значение $file куда требуется
     
    _________________________
    1 person likes this.
  15. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    Нужно спарсить с сайта все ники юзеров посоветуйте новичку какой модуль использовать и т.д мой первый скрипт на Perl
    Code:
    <span class="nowrap"><a href="http://site.ruprofile"><img src="/img/spacer.gif"  width="13" height="13" alt="О пользователе" class="female" /></a><span class="nick" style="font-weight: lighter;"><a href="http://site.ru">NICK</a></span></span>
    
     
  16. dpe_x

    dpe_x Elder - Старейшина

    Joined:
    8 Sep 2010
    Messages:
    155
    Likes Received:
    35
    Reputations:
    14
    Code:
    use LWP::Simple;
    
    $page = get("http://site.com");
    while($page =~/"female"\ /><\/a><span class="(.*)" style="font-weight: lighter;">/g)
    {
          print $1."\n";
    }
    
     
  17. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    Вот код есть html формачка, ну почему-то все ровно возможно загружать файлы любых размеров....
    тестирую в денвере

    Code:
    #!/usr/bin/perl -w
    # upload2.cgi
    use strict;
    use CGI qw(:standard);
    use CGI::Carp qw(fatalsToBrowser);
    $CGI::POST_MAX = 1024 * 250;   # Limit to 250kb posts...
    my $File_Name = param('filename');
    my $Mime      = uploadInfo($File_Name)->{'Content-Type'};
    print header(-type=>$Mime);
    Print_Results();
    sub Print_Results{
        my $data;
        if($Mime !~ /text/){
            binmode($File_Name);
            while(read($File_Name, $data, 1024)) { print $data; }
        } 
        else {
            print start_html('File Upload Example 2');
            print qq(<PRE>);
            print qq(<B>File Name:</B> $File_Name\n);
            print qq(<B>File Contents:</B>\n\n);
            while(<$File_Name>) { print; }
            print qq(</PRE>);
            print end_html;
        }
    }
     
  18. TikTik

    TikTik Member

    Joined:
    20 Feb 2009
    Messages:
    241
    Likes Received:
    12
    Reputations:
    2
    Есть код
    sales.cgi
    Code:
    #!/usr/bin/perl -w
    $l=1;
    use strict;
    use lib qw(.);
    use MyConnect;
    my $salesdbh = Myconnect->salesDB;
    my $sales_sth = salesdbh->prepare("SELECT * FROM
      table where ID = '5' ORDER BY date");
      $sales_sth->execute;
    
    и код Myconnect.pm
    Code:
    package MyConnect;
    use DBI;
    use strict;
    sub salesDB {
        my ($sales_dbname, $sales_dbhost) = split(/\@/,$ENV{'SALESDB'});
        my $sales_dsn = "DBI:mysql:database=$sales_dbname;host=$sales_dbhost";
        my $sales_dbh=DBI->connect($sales_dsn, "root", "password");
     if (!defined($sales_dbh)) {
       print "\nerror: There is a problem connecting to the MySQL database:\n";
       print DBI->errstr;
       print "-" x 25 . "\n";
       return;
     }
        return $sales_dbh;
    }
    1;
    
    
    База SALESDB в денвере создана
    но при запуске sales.cgi вот такие ошибки получаю

     
  19. $Robin

    $Robin Member

    Joined:
    25 Jun 2010
    Messages:
    47
    Likes Received:
    5
    Reputations:
    0
    Done.
    a[$i]["Key"] и a[$i]["Data"] Ссылались на один адрес в памяти.
     
    #1899 $Robin, 3 Oct 2011
    Last edited: 16 Nov 2011
  20. roflzi

    roflzi New Member

    Joined:
    16 Apr 2010
    Messages:
    42
    Likes Received:
    0
    Reputations:
    0
    $Robin, в данном случае - некорректное использование массивов, плюс $a[1-101]["Data"] у вас пустая. Лучше использовать хэш:
    Code:
    my %a;
    for ( $i = 0; $i <101; $i++ )
    	{
    		$a{$i}{Key} = int rand(100);
    		$a{$i}{Data} = int rand(100);
    	}
    	
    insert(%a);
    # print "\%a - $a{1}{Key}, $a{1}{Data}; \%t - $t{1}{Key}, $t{1}{Data};\n";
    
    sub insert {
    %tmp = @_; # это нужно только если функция работает в отдельном треде
    	for ($i=0; $i<101; $i++ ) {	
    		$t{$i}{Key} = $tmp{$i}{Key};
    		$t{$i}{Data} = $tmp{$i}{Data};
    		}
    }
    
     
Thread Status:
Not open for further replies.