2009-10-02 3 views

Odpowiedz

13

Tak na wszystkie te pytania. Identyfikator Eclipse IDE był na to podatny. To discussed in more detail here.

Podobnie jak w przypadku całego oprogramowania, należy unikać pobierania i uruchamiania czegokolwiek ze źródła, któremu nie ufasz. CPAN jest ogólnie godny zaufania; chociaż nie jestem świadomy, że ktoś celowo uwalnia fałszywy kod do CPAN, możliwe, że tak się stało.

Można uniknąć uruchomiony kod podczas kontroli kompilacji z $^C flag, np .:

BEGIN { load_data_from_db() unless $^C; } 
+2

Doskonały punkt dotyczący '$^C'. Oto link do wpisu perlvar: http://perldoc.perl.org/perlvar.html#$^C – daotoad

+0

@daotoad twój link został zerwany, więc zredagowałem odpowiedź, by zawierała działającą. – Ether

1

Należy pamiętać, że czasami jest to cecha. Bloki BEGIN wewnątrz modułów mod_perl są wykonywane tylko raz, po pierwszym załadowaniu. Masz więc prostą składnię do inicjowania na poziomie strony w tym samym skrypcie i umieszczasz ją "blisko" kodu, który pomaga.

Czasami jest to przydatne do pisania skomplikowanego kodu inicjalizacyjnego, którego nie chcesz umieszczać u góry skryptu.

Ale głównie chodzi tylko o kompatybilność tematyczną z awk.

+1

Jest tam o wiele więcej niż wygląda jak awk. Bloki BEGIN są bardzo przydatne do sekwencjonowania rzeczy. –

+0

Czy to nie jest dokładnie to, co powiedziałem? Zanim zdanie, które zdecydowałeś się wybrać, było sporo tekstu. –

+1

@Andy - powiedziałeś "głównie". Podczas mojego wieloletniego rozwoju oprogramowania Perl użyłem (i zobaczyłem, że go użyłem) bloków BEGIN z wielu powodów na miriadach okazji, a nie TYLKO czy widziałem, że użyłem "kompatybilności tematycznej z awk". – DVK

Powiązane problemy