Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> perl2exe 
:(
    Опции темы
Dark Elf
  Дата 29.4.2005, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 26.12.2003
Где: Брисбен

Репутация: нет
Всего: 10



Добрый день

Можно ли из исходного файла на языке Perl получить ехешник?

Заранее благодарен за ответ


--------------------
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
korob2001
Дата 29.4.2005, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Можно, только файл получается большим, так как компилится необходимая часть интерпритатора и все подключаемые модули, если таковые использовались. Вот компилятор www.indigostar.com/download/p2x-8.00-Win32.zip . Если возникнут трудности с использованием, пиши.

Удачи.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Dark Elf
Дата 29.4.2005, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 26.12.2003
Где: Брисбен

Репутация: нет
Всего: 10



Спасибо


--------------------
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
stan777
Дата 22.2.2007, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



А где можно бесплатно достать полную версию Perl2Exe ? Perl2Exe-шники работают быстрей чем ActivePerl !

Это сообщение отредактировал(а) stan777 - 22.2.2007, 16:34
PM MAIL   Вверх
tishaishii
Дата 22.2.2007, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 4
Всего: 8



Не знаю, быстрее или короче, я испытал утилиту pp из mod_perl2 - конвертирует pl в exe.

Добавлено @ 19:24 
Да, и конкретно пока ещё не в курсе что он вообще делает, но делает exeшки.
Внутри видны части исходного кода. Оно иногда не хочется.

Добавлено @ 19:28 
С IndigoStar perl2exe давно воюю.
Основная проблема возникла с компиляцией DBD::ODBC одновременно с Win32::ODBC, компилер путается, как я не крутил.

Это сообщение отредактировал(а) tishaishii - 22.2.2007, 19:29
PM MAIL ICQ Skype   Вверх
stan777
Дата 25.2.2007, 00:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



А как на счет evolution version ? Что ехе-шники работают только 29 дней со дня кодирования ? есть у кого-нидь крек, или где его можно скачят ?


Это сообщение отредактировал(а) stan777 - 25.2.2007, 21:20
PM MAIL   Вверх
tishaishii
Дата 25.2.2007, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 4
Всего: 8



stan777, ну так же нельзя, ну взрослый уже мальчик.
PM MAIL ICQ Skype   Вверх
stan777
Дата 25.2.2007, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



Цитата(tishaishii @ 25.2.2007,  11:05)
stan777, ну так же нельзя, ну взрослый уже мальчик.

Да нашел smile что искал smile
PM MAIL   Вверх
shamber
Дата 25.2.2007, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



Народ, а perlApp из perlDevKit, кто-нибудь пробовал? E меня при попытки скомпилить проект содержащий POE? не захотел @ работать 
PM MAIL Jabber   Вверх
tishaishii
Дата 26.2.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: 4
Всего: 8



У меня много чего не работает: например, ужимаю ехешник из perl perl2exe с помощью всяких утилит для сжатия ехешников (от 350 до 7 кб) - не работает, как ни старался.
А perl2exe - работает без проблем, кроме приведённого бага.
PM MAIL ICQ Skype   Вверх
shamber
Дата 16.3.2007, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



Всем привет.

Скажите а никто не пробовал компилить в exe скрипты содержащие poe? У меня не получилось, может кто поможет.
вот скрипт из CookBook:
Код

#!/usr/bin/perl

# http://poe.perl.org/?POE_Cookbook/Multitasking_Solutions
#
# Android 18's ELITE POE parallel number guessing program!
# Version 2

use strict;
use warnings;
use POE;
use Carp;
our $DEFAULT_MINIONS = 5;
@ARGV >= 2 or croak( "\$ARGV[0] and \$ARGV[1] must be"
      . "lower and upper bounds respectively\n" );

# NUMBER KEEPER
POE::Session->create(
    args => [ $ARGV[0], $ARGV[1] ],
    inline_states => {
        _start => sub {
            my ( $kernel, $heap, $lb, $ub ) = @_[ KERNEL, HEAP, ARG0, ARG1 ];
            my $number = int( rand( $ub - $lb + 1 ) ) + $lb;
            $heap->{NUM} = $number;
            $heap->{UB}  = $ub;
            $heap->{LB}  = $lb;
            $kernel->alias_set('NumberKeeper');
            print "NumberKeeper born.\n";
        },
        guess => sub {
            my ( $kernel, $sender, $heap, $guess ) = @_[ KERNEL, SENDER, HEAP, ARG0 ];
            if ( $guess < $heap->{NUM} ) {
                $kernel->post( $sender, 'higher' );
                print "NumberKeeper responds to guess: $guess (HIGHER)\n";
            } elsif ( $guess > $heap->{NUM} ) {
                $kernel->post( $sender, 'lower' );
                print "NumberKeeper responds to guess: $guess (LOWER)\n";
            } else {
                $kernel->post( $sender, 'correct' );
                print "NumberKeeper responds to guess: $guess (CORRECT)\n";
            }
        },
        request_range => sub {
            my ( $kernel, $sender, $heap ) = @_[ KERNEL, SENDER, HEAP ];
            $kernel->post( $sender, 'range', $heap->{LB}, $heap->{UB} );
        },
        _stop => sub {
            print "NumberKeeper slain.\n";
          }
      }
);

# NUMBER GUESSER
# Keeps track of most recent information and gives orders to its minions
POE::Session->create(
    inline_states => {
        _start => sub {
            my ( $kernel, $heap ) = @_[ KERNEL, HEAP ];
            my $MINIONS = 0;
            if ( defined $ARGV[2] && $ARGV[2] > 0 ) {
                $MINIONS = $ARGV[2];
            } else {
                $MINIONS = $DEFAULT_MINIONS;
            }
            foreach ( 1 .. $MINIONS ) {
                push ( @{ $heap->{Minions} }, CreateMinion("Minion$_") );
            }
            $kernel->post( 'NumberKeeper', 'request_range' ); #responds with 'range' event
            $kernel->alias_set('Master');
            print "Number guesser born. $MINIONS minions created.\n";
        },
        range => sub {
            my ( $kernel, $heap, $lb, $ub ) = @_[ KERNEL, HEAP, ARG0, ARG1 ];
            $heap->{LB} = $lb;
            $heap->{UB} = $ub;
            print "Recieved Range $lb .. $ub\n";

            # Start off by giving each of its minions a random number
            foreach my $minion ( @{ $heap->{Minions} } ) {
                $kernel->post( $minion, 'guess', RandInt( $lb, $ub ) );
            }
        },
        response => sub {    #Minions send response events back
            my ( $kernel, $sender, $heap, $guess, $response ) =
              @_[ KERNEL, SENDER, HEAP, ARG0, ARG1 ];
            return if ( exists $heap->{NUM} );

            # Used to test alias_list in scalar context
            my ($alias) = $kernel->alias_list($sender);
            my $newguess;
            if ( $response eq 'higher' ) {
                print "$alias reports that $guess is too low.\n";
                if ( $guess >= $heap->{LB} ) {
                    $heap->{LB} = $guess + 1;
                    print "Adjusting lower bound to new value: $heap->{LB}\n";
                } else {
                    print "No adjustment.\n"
                }
                $newguess = RandInt( $heap->{LB}, $heap->{UB} );
                print "Giving $alias new orders: guess $newguess\n";
                $kernel->post( $sender, 'guess', $newguess );
            } elsif ( $response eq 'lower' ) {
                print "$alias reports that $guess is too high.\n";
                if ( $guess <= $heap->{UB} ) {
                    $heap->{UB} = $guess - 1;
                    print "Adjusting upper bound to new value: $heap->{UB}\n";
                } else {
                    print "No adjustment.\n"
                }
                $newguess = RandInt( $heap->{LB}, $heap->{UB} );
                print "Giving $alias new orders: guess $newguess\n";
                $kernel->post( $sender, 'guess', $newguess );
            } else {
                print "$alias reports correct value at: $guess\n";
                $heap->{NUM} = $guess;

                # No more jobs, let the minion die off
            }
        },
        _stop => sub {
            print "Guesser session dying.\n";
            print "Value found: $_[HEAP]->{NUM}\n";
        },
      }
);

$poe_kernel->run();

# CreateMinion() returns a reference to a new minion session
# Minion sessions guess numbers, send updates to their parent and die when more
# orders are left to give
sub CreateMinion {    # (name)
    my $alias = shift;
    return POE::Session->create(
        inline_states => {
            _start => sub {
                $_[KERNEL]->alias_set($alias);
            },
            guess => sub {
                $_[HEAP]->{GUESS} = $_[ARG0];
                $_[KERNEL]->post( 'NumberKeeper', 'guess', $_[HEAP]->{GUESS} );
            },
            higher => sub {
                $_[KERNEL]->post( 'Master', 'response', $_[HEAP]->{GUESS}, 'higher' );
            },
            lower => sub {
                $_[KERNEL]->post( 'Master', 'response', $_[HEAP]->{GUESS}, 'lower' );
            },
            correct => sub {
                $_[KERNEL]->post( 'Master', 'response', $_[HEAP]->{GUESS}, 'correct' );
            },
            _stop => sub {
                print "$alias hath been slain!\n";
              }
          }
    );
}

sub RandInt {    # (lower, upper)
    my ( $lb, $ub ) = @_;
    return int( rand( $ub - $lb + 1 ) ) + $lb
}




PM MAIL Jabber   Вверх
stan777
Дата 28.3.2007, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 29.1.2007

Репутация: нет
Всего: нет



А при компиляции скрипта что-нибудь пишет Это помогает http://www.indigostar.com/pxman.htm ? Типа "Can't locate somemodule.pm in @INC ... "  ??? Там в мане все написано, как прикомпиливать не стандартные модули. Вот эти стандартые модули компилятся хорошо.
use HTML::LinkExtor;
use LWP::UserAgent;
use HTML::TokeParser;
use URI::URL;
use LWP::Simple;
use strict;
use Time::HiRes qw(gettimeofday);
use threads;
use threads::shared;


Это сообщение отредактировал(а) stan777 - 29.3.2007, 09:11
PM MAIL   Вверх
ПапаМишка
Дата 7.12.2007, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 30.10.2005
Где: Саратов

Репутация: нет
Всего: нет



Цитата

Вот компилятор www.indigostar.com/download/p2x-8.00-Win32.zip . Если возникнут трудности с использованием, пиши.


не получается включить программу, подскажите пожалуйста как делать (((
PM ICQ   Вверх
Unrealm
Дата 7.12.2007, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 19.7.2007

Репутация: 1
Всего: 1



Опишите проблему более полно. Что подразумевается под "включить"?

Это сообщение отредактировал(а) Unrealm - 7.12.2007, 16:50
PM MAIL   Вверх
ПапаМишка
Дата 7.12.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 171
Регистрация: 30.10.2005
Где: Саратов

Репутация: нет
Всего: нет



распаковываю архив этот www.indigostar.com/download/p2x-8.00-Win32.zip 
копирую в него mycode.pl 
в Far-е захожу в папку p2x-8.00-Win32 (где распакован архив)
и набираю
Код

perl2exe mycode.pl 
 
выдаётся ошибка сразу
PM ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0821 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.