Во всех установках Mac OS X 10.6 по умолчанию установлен Perl?

#perl #macos

#perl #macos

Вопрос:

Для приложения Mac OS X, где сценарий Perl (Markdown.pl ) будет вызван, мне нужно знать, установлен ли Perl по умолчанию во всех установках Mac OS X 10.6 и более поздних версий. В противном случае нам придется упаковать его вместе с приложением.

Это подтверждено, могу ли я с уверенностью предположить это?

Комментарии:

1. Я думаю, что более важный вопрос заключается в том, какую версию Perl предоставляет Darwin. И ответов несколько. Плюс я всегда устанавливаю свой собственный. Итак, на моем Mac запущены все perl1, perl5.8.9, perl5.10.0, perl5.12.3, perl5.14.0 и perl6 (rakudo). На других платформах у меня их еще больше, и я сохраняю полное дерево исходных текстов perl со всеми версиями, когда-либо выпущенными в нем.

Ответ №1:

ДА.

В Mac OS X Perl уже установлен. Откройте приложение терминала (в папке Utilities вашей папки Applications) и запустите perl -v, чтобы узнать, какая версия. http://www.perl.org/get.html

И согласно официальным спецификациям Snow Leopard, он поставляется с Perl, PHP, Ruby, Rails.

В этом обсуждении Apple упоминается Perl (5.8.1) , что он предварительно установлен с OS X 10.6.x.
(последнее, по-видимому, неверно. Смотрите комментарии к этому ответу)

Комментарии:

1. @WTP: Я нашел официальные спецификации для Snow Leopard, в которых указан PERL (хотя версия не указана). Обновленный ответ.

2. Да — Perl доступен с версии 10.0 и ранее, хотя номера версий различаются и, как правило, немного отстают, поскольку Apple обновляет Perl до более новой версии только для основных обновлений 10.x. Все второстепенные версии Mac OS X 10.6 включают в себя как 5.10.0, так и 5.8.9. (Тот, кто упомянул 5.8.1, перепутал своих кошек — это поставляется с 10.3 «Panther».)

3. Кстати, под «10.0 и более ранними версиями» я имею в виду предварительные версии для разработчиков, а не «классическую» macOS. В те дни MacPerl загружался отдельно. 🙂

4. Ссылка на спецификации Snow Leaopard не работает.

Ответ №2:

Учитывая, что некоторые пакеты используют скрипты perl для удаления / установки, и я никогда не использовал Mac, на котором его не было; Я думаю, что это довольно безопасная ставка.

Даже на веб-сайте Perl так написано:http://www.perl.org/get.html

Ответ №3:

Да, Snow Leopard поставляется с несколькими версиями Perl, я полагаю.

Комментарии:

1. Да, оба 5.10.0 и 5.8.9, последний, предположительно, для совместимости со скриптами, которым не нравится 5.10. Apple извлекла урок из трудного перехода от Jaguar к Panther, когда они перешли с 5.6 на 5.8.1 и в процессе сломали много модулей XS.

Ответ №4:

Хотя это правда, что Mac поставляются с Perl, они, очевидно, не тратят огромное количество времени на размышления об этом. Новейший XCode нарушает CPAN. Таким образом, вы можете захотеть придерживаться чистых модулей Perl или стандартного дистрибутива, пока это не будет разработано. Даже в этом случае те пользователи, которые не будут обновляться, останутся с поврежденным Perl.

Более подробная информация:http://deflatermouse.livejournal.com/149721.html

Комментарии:

1. К счастью, скрипт, который необходимо вызвать приложению, не нуждается в CPAN. 🙂

2. Обратите внимание, что в обеих связанных статьях рекомендуется просто создавать свой собственный Perl и избегать системного Perl. Хороший совет! После многих лет попыток написать CamelBones, чтобы идти в ногу с системным Perl, я, наконец, переписываю его с нуля, чтобы включить собственный.

3. @Sherm, определенно есть обходные пути, однако нельзя ожидать, что пользователи захотят / собираются их использовать.

Ответ №5:

Быстрый поиск в Google дал бы вам ответ на этот вопрос:

http://www.google.com/search ?q= mac os x perl по умолчанию установить

Но да.

Ответ №6:

 $ /usr/bin/perl -V
Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
  Platform:
    osname=darwin, osvers=10.0, archname=darwin-thread-multi-2level
    uname='darwin neige.apple.com 10.0 darwin kernel version 10.0.0d8: tue may 5 19:29:59 pdt 2009; root:xnu-1437.2~2release_i386 i386 '
    config_args='-ds -e -Dprefix=/usr -Dccflags=-g  -pipe  -Dldflags= -Dman3ext=3pm -Duseithreads -Duseshrplib -Dinc_version_list=none -Dcc=gcc-4.2'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc-4.2', ccflags ='-arch x86_64 -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include',
    optimize='-Os',
    cppflags='-g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='4.2.1 (Apple Inc. build 5646)', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='gcc-4.2 -mmacosx-version-min=10.6', ldflags ='-arch x86_64 -arch i386 -arch ppc -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib
    libs=-ldbm -ldl -lm -lutil -lc
    perllibs=-ldl -lm -lutil -lc
    libc=/usr/lib/libc.dylib, so=dylib, useshrplib=true, libperl=libperl.dylib
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-arch x86_64 -arch i386 -arch ppc -bundle -undefined dynamic_lookup -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV
                        PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL
                        USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES
                        USE_PERLIO USE_REENTRANT_API
  Locally applied patches:
    /Library/Perl/Updates/<version> comes before system perl directories
    installprivlib and installarchlib points to the Updates directory
  Built under darwin
  Compiled at Jun 24 2009 00:35:27
  @INC:
    /Library/Perl/Updates/5.10.0
    /System/Library/Perl/5.10.0/darwin-thread-multi-2level
    /System/Library/Perl/5.10.0
    /Library/Perl/5.10.0/darwin-thread-multi-2level
    /Library/Perl/5.10.0
    /Network/Library/Perl/5.10.0/darwin-thread-multi-2level
    /Network/Library/Perl/5.10.0
    /Network/Library/Perl
    /System/Library/Perl/Extras/5.10.0/darwin-thread-multi-2level
    /System/Library/Perl/Extras/5.10.0