Thread View: pl.comp.lang.perl
3 messages
3 total messages
Started by Maciej Misiak
Fri, 25 Sep 2009 08:38
łamigłówka
Author: Maciej Misiak
Date: Fri, 25 Sep 2009 08:38
Date: Fri, 25 Sep 2009 08:38
16 lines
1374 bytes
1374 bytes
Ściągnąłem opalORBa. Zainstalowałem. Działa. Zaczynam tworzyć własne
rozwiązanie, a tu w przykładowych skryptach na samym początku w każdym prawie
pliku taki oto dziwoląg:
eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}'
& eval 'exec perl -w -S $0 $argv:q'
if 0;
Zaczynam analizować po co to zamiast shebanga, jak ktoś ma jakieś wskazówki to
będę wdzięczny.
--
grizzley
--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Re: łamigłówka
Author: Maciej Misiak
Date: Fri, 25 Sep 2009 08:50
Date: Fri, 25 Sep 2009 08:50
8 lines
1178 bytes
1178 bytes
perlrun i switch -S zawierają opis tego czegoś. -- grizzley Hmm, mam wrażenie jakbym mówił do siebie... :) -- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Re: ?amig?ówka
Author: Stachu 'Dozzie' K.
Date: Fri, 25 Sep 2009 11:29
Date: Fri, 25 Sep 2009 11:29
24 lines
1865 bytes
1865 bytes
On 25.09.2009, Maciej Misiak wrote:
> Ściągnąłem opalORBa. Zainstalowałem. Działa. Zaczynam tworzyć własne
> rozwiązanie, a tu w przykładowych skryptach na samym początku w każdym prawie
> pliku taki oto dziwoląg:
>
> eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}'
> & eval 'exec perl -w -S $0 $argv:q'
> if 0;
>
> Zaczynam analizować po co to zamiast shebanga, jak ktoś ma jakieś wskazówki to
> będę wdzięczny.
Kiedyś zdaje się był taki zwyczaj, że shell w jakichś tam warunkach
(chyba chodziło o niepowodzenie exec()) próbował interpretować plik jak
swój skrypt. Pierwsza linijka to "exec perl" dla /bin/sh
i kompatybilnych (chociaż nie do końca rozumiem po co ${1+"$@"}, skoro
dokładnie to samo się osiąga przez "$@"), druga wygląda na to samo dla
csh/tcsh, a trzecia to ominięcie dwóch pierwszych już w samym Perlu.
Ot, taki hack, kod poprawny dla trzech różnych języków naraz skutkujący
uruchomieniem ostatniego z nich.
--
Stanislaw Klekot
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads