За последние 24 часа нас посетили 17294 программиста и 1619 роботов. Сейчас ищут 1054 программиста ...

Перевод из perl в php

Тема в разделе "Прочее", создана пользователем fryze, 29 сен 2009.

  1. fryze

    fryze Активный пользователь

    С нами с:
    29 сен 2009
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте! Подскажите есть ли в php модуль который исполняет код perl ?
    Если нет, помогите перевести в php этот небольшой скрипт.

    Код (Text):
    1. #!/usr/bin/perl -w
    2.  
    3.  
    4.  
    5. use strict;
    6.  
    7. use CGI qw( :all );
    8.  
    9. use CGI::Pretty qw( :html4 );
    10.  
    11. use LWP::Simple;
    12.  
    13.  
    14.  
    15. # Глобальные переменные
    16.  
    17. my $cgi = new CGI;
    18.  
    19. my $charset = "windows-1251";
    20.  
    21. my $js = "http://www.site.ru/js/obj_view.js";
    22.  
    23. my $url = "http://www.site.ru/cgi-bin/view_rofferts.pl?r=1";
    24.  
    25. my $params = "&country=Индонезия&country=Доминикана&type=Новогодние туры&tours_on=1&prices_on=1&offerts_list_on=1&offerts_list_tours_on=1&offerts_list_spo_on=1";
    26.  
    27.  
    28.  
    29. if (param("view")) { my $view = param("view"); $url .= "&view=".$view }
    30.  
    31. else { $url .= $params }
    32.  
    33.  
    34.  
    35. my $js_content = get($js);
    36.  
    37. my $content = get($url);
    38.  
    39.  
    40.  
    41. print $cgi->header( -type=>'text/html',-charset=>$charset );
    42.  
    43. print "<script language=\"JavaScript\">".$js_content."</script>";
    44.  
    45. $content =~ s/src="/src="http:\/\/www\.site\.ru/gi;
    46.  
    47. $content =~ s/href="\/files/href="http:\/\/www\.site\.ru\/files/gi;
    48.  
    49. print $content;
    50.  
    51.  
    52.  
    53. exit;
     
  2. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Если perl стоит в системе и скрипт имеет нужные права, то можно просто из скрипта php

    PHP:
    1. exec('someperlscript.pl');
    ну или так
    PHP:
    1. exec('perl someperlscript.pl');
     
  3. fryze

    fryze Активный пользователь

    С нами с:
    29 сен 2009
    Сообщения:
    3
    Симпатии:
    0
    Данный скрипт внедряется на web страничку, которую рисует php
     
  4. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    Мда, тут скрипта кот наплакал. Зачем его внедрять в страницу на php?

    Впрочем, вам виднее.

    А перевод perl->php, это не ко мне.
     
  5. nimistar

    nimistar Активный пользователь

    С нами с:
    30 май 2007
    Сообщения:
    919
    Симпатии:
    0
    блин .. код простенький .. но писать то как лень :)
     
  6. fryze

    fryze Активный пользователь

    С нами с:
    29 сен 2009
    Сообщения:
    3
    Симпатии:
    0
    чтобы на php-шных сайтах он отрабатывал. Скрипт изначально на html страницу вставляется инклюдом.



    Ну пожалуйста! :)
     
  7. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    PHP:
    1. <?php
    2. $charset = "windows-1251";
    3. $js = "http://www.site.ru/js/obj_view.js";
    4. $url = "http://www.site.ru/cgi-bin/view_rofferts.pl?r=1";
    5. $params = "&country=Индонезия&country=Доминикана&type=Новогодние туры&tours_on=1&prices_on=1&offerts_list_on=1&offerts_list_tours_on=1&offerts_list_spo_on=1";
    6.  
    7. $url .= !empty($_GET["view"]) ? "&view=" . $_GET["view"] : $params;
    8.  
    9. $js_content = file_get_contents($js);
    10. $content = file_get_contents($url);
    11.  
    12. header("Content-Type: text/html; charset=" . $charset);
    13. print "<script language=\"JavaScript\">" . $js_content . "</script>";
    14.  
    15. $content = preg_replace('/src="/si', 'src="http://www.site.ru', $content);
    16. $content = preg_replace('/href="\/files/si', 'href="http://www.site.ru/files', $content);
    17.  
    18. print $content;
    как-то так