2013-04-05 16 views
8

W języku Perl moduły są wywoływane przy użyciu :: jako separatora ścieżek. Jeśli masz moduł pod numerem site/lib/GD/Image.pm, zadzwoń pod numer use GD::Image.Dlaczego znak apostrofu jest prawidłowym separatorem ścieżki w Perlu

Jednak już dawno temu dowiedziałem się, że można również zadzwonić pod numer use GD'Image i takie rzeczy jak my $img = new GD'Image;, a są też moduły na CPAN, używając tej składni na nazwach/dokumentacji.

Jaki jest cel lub logika tego? Czy jest możliwe, że tak wiele rzeczy w Perlu, jest tylko funkcją, która ma na celu zdiagnozowanie i umożliwienie tworzenia modułów takich jak Acme::Don't?

Czy ma inne intencje niż w przypadku ::?

+0

W przeciwnym razie jak byśmy [program w Klingon] (https://metacpan.org/module/Lingua::tlhInganHol::IIghun#SYNOPSIS)? – Schwern

Odpowiedz

10

Zobacz perlmod dla wyjaśnienia:

Pakiet stary separator był jeden cytat, ale podwójny dwukropek jest obecnie preferowanym separatora

Tak, powodem jest historią.

+0

Dobra odpowiedź. :-) –

6

Pojedynczy cytat to stary separator ADA. Jednak nie działało dobrze z Emacsem, więc zastosowano dwukropek.

Dobry Boże! ADA? Emacs? Jestem stary.

Powiązane problemy