Perl

Z UMP

(Różnice między wersjami)
d (Ręczna aktualizacja skryptu w exe: zgubione "nie")
Aktualna wersja (07:59, 16 sty 2013) (edytuj) (anuluj zmianę)
d (nie trzeba podmieniać w pl my mdm2)
 
(Nie pokazano 4 wersji pośrednich.)
Linia 24: Linia 24:
* W konsoli systemowej wykonaj
* W konsoli systemowej wykonaj
 +
<source lang="dos">
ppm install tk
ppm install tk
ppm install par
ppm install par
ppm repo add BdP http://www.bribes.org/perl/ppm
ppm repo add BdP http://www.bribes.org/perl/ppm
-
ppm install par-packer
+
ppm install par-packer</source>
* Przetestuj. Ostrzeżenie o braku kompilatora możesz zignorować.
* Przetestuj. Ostrzeżenie o braku kompilatora możesz zignorować.
-
pp -o out.exe -e 'print "Hi!"'
+
<source lang="dos">pp -o out.exe -e 'print "Hi!"'</source>
===Pakowanie===
===Pakowanie===
Linia 37: Linia 38:
Plik exe z inną ikonką:
Plik exe z inną ikonką:
pp --icon "MyIcon.ico" -o skrypt.exe skrypt.pl.
pp --icon "MyIcon.ico" -o skrypt.exe skrypt.pl.
-
Ukryj konsolę przy uruchamianiu (np. w przypadku skryptów z GUI)
+
Ukryj konsolę przy uruchamianiu (np. w przypadku skryptów z GUI). '''Uwaga:''' może powodować problemy z komunikacją skryptu z innymi aplikacjami konsolowymi.
pp --gui -o file.exe file.pl.
pp --gui -o file.exe file.pl.
Linia 47: Linia 48:
* spakuj całość do nowy.zip
* spakuj całość do nowy.zip
* dołącz interpreter korzystając z parl.exe (znajdziesz np. tutaj [http://ump.fuw.edu.pl/flyspray/index.php?do=details&task_id=7511])
* dołącz interpreter korzystając z parl.exe (znajdziesz np. tutaj [http://ump.fuw.edu.pl/flyspray/index.php?do=details&task_id=7511])
-
parl.exe -b -O.\skrypt.exe nowy.zip
+
parl -b -O.\skrypt.exe nowy.zip
===Informacje dodatkowe===
===Informacje dodatkowe===
* Tutorial i FAQ PAR (ang.)[http://search.cpan.org/~smueller/PAR-1.002/]
* Tutorial i FAQ PAR (ang.)[http://search.cpan.org/~smueller/PAR-1.002/]
* Łączenie kilku skryptów w jeden plik, celem zmniejszenia objętości (ang.)[http://search.cpan.org/dist/PAR/lib/PAR/Tutorial.pod#Aggregating_multiple_programs]
* Łączenie kilku skryptów w jeden plik, celem zmniejszenia objętości (ang.)[http://search.cpan.org/dist/PAR/lib/PAR/Tutorial.pod#Aggregating_multiple_programs]
 +
 +
[[Kategoria:Narzędzia]]

Aktualna wersja

Spis treści

Co to jest?

Taki język programowania. Elastyczny, ale trudny do czytania. Patrz np. Wikipedia.

Instalacja i konfiguracja perla

Perl w Linuksie

Większość dystrybucji Linuksa zawiera w pełni działającą i skonfigurowaną dystrybucję perla i właściwie nic specjalnego nie jest wymagane. Należy się tylko upewnić czy jest zainstalowany perl-tk, w przeciwnym razie nie będzie działać graficzne narzędzia do montowania i demontowania mdm-gui.pl. Dla Fedory pakiet ten nazywa się perl-TK, dla innych linuksów będzie podobnie.

Perl w Windows

Systemy Microsoftu nie zawierają domyślnie żadnej dystrybucji perla i należy go zainstalować osobno. Polecaną dystrybucją tego języka programowania dla ump jest ActivePerl [1]. ActivePerl występuje w dwóch wersjach: 5.8.9 oraz 5.10.1 (można je pobrać z tego miejsca [2]), przy czym dla mapowiczów nie ma znaczenia którą zainstalujesz. Równie dobrze działa Strawberry Perl.

  • wersja 5.8.9: Jeśli chcesz po prostu zacząć używać perlowych narzędzi (także graficznych), bez żadnego dodatkowego grzebania w perlu, to zainstaluj sobie tę wersję (aby pobrać windowsowy instalator kliknij ten link [3]). Po ściągnięciu pliku instalacyjnego uruchom go i zainstaluj domyślnie wybrane przez instalator pakiety. Po zakończeniu instalacji i restarcie systemu perl jest gotów do akcji.
  • wersja 5.10.1: Ta wersja perla (do pobrania po kliknięciu w ten link [4]) nie zawiera domyślnie modułów niezbędnych do pracy graficznego narzędzia do montowania i demontowania map - mdm-gui.pl (perl-Tk). Aby zadziałały należy je doinstalować później, już po instalacji perla. Po pobraniu pliku instalacyjnego uruchom go i zainstaluj domyślnie zaznaczone w nim pakiety. Po restarcie systemu, uruchom konsolę systemową windows i wpisz w niej komendę:
    ppm install tk
    Pakiet tk można również zainstalować za pomocą graficznego menedżera. W konsoli systemowej wpisz ppm - powinieneś ujrzeć poniższy obrazek:Grafika:ppm.pngW lewym okienku (Perl Package Manager) kliknij lewą szarą ikonkę (zaraz pod File), po czym w oknie wyszukiwania wpisz Tk. Spowoduje to wyświetlenie wszystkich dostępnych pakietów związanych z Tk.Grafika:perl-tk.pngPodświetl pakiet Tk (patrz obrazek) i zainstaluj go.

Skrypty przerobione na exe

Dla osób, które nie chcą instalować środowiska Perl, przygotowano samodzielne wersje skryptów w postaci plików exe. Dotyczy to plików: mdm-gui.exe mont-demont-multi2.exe pnt2gpx.exe, można je znaleźć w pakiecie edycyjnym, w katalogu narzędzia.

Przygotowanie skryptów w postaci exe

Skrypty w postaci exe to w rzeczywistości archiwa zip zawierające kod skryptu i niezbędne moduły oraz "doklejony" interpreter Perla.

Przygotowanie środowiska

  • Zainstaluj: ActivePerl-5.10.1.1007 (Może być inna wersja, pod warunkiem że znajdziemy do niej skompiloway PAR-Packer, np. tutaj[5].
  • W konsoli systemowej wykonaj
 ppm install tk
 ppm install par
 ppm repo add BdP http://www.bribes.org/perl/ppm
 ppm install par-packer
  • Przetestuj. Ostrzeżenie o braku kompilatora możesz zignorować.
pp -o out.exe -e 'print "Hi!"'

Pakowanie

Najprostszy przypadek:

pp -o skrypt.exe skrypt.pl

Plik exe z inną ikonką:

pp --icon "MyIcon.ico" -o skrypt.exe skrypt.pl.

Ukryj konsolę przy uruchamianiu (np. w przypadku skryptów z GUI). Uwaga: może powodować problemy z komunikacją skryptu z innymi aplikacjami konsolowymi.

pp --gui -o file.exe file.pl.

Ręczna aktualizacja skryptu w exe

Metoda ta nie wymaga instalacji Perla. Można ją wykorzystać w przypadku niewielkich zmian w kodzie (moduły wykorzystywane przez skrypt nie mogą się zmienić).

  • zmień rozszerzenie z skrypt.exe na skrypt.zip
  • rozpakuj
  • podmień źródło skryptu w katalogu script
  • spakuj całość do nowy.zip
  • dołącz interpreter korzystając z parl.exe (znajdziesz np. tutaj [6])
parl -b -O.\skrypt.exe nowy.zip

Informacje dodatkowe

  • Tutorial i FAQ PAR (ang.)[7]
  • Łączenie kilku skryptów w jeden plik, celem zmniejszenia objętości (ang.)[8]