Perl 로컬 설치

내 컴퓨터에 Perl을 설치해서 Exercism의 연습 문제를 푸는 방법을 배워요


Perl 버전 참고 사항

이 트랙은 Perl의 최신 안정 버전을 기준으로 해요. 예전 버전의 Perl을 사용하는 것도 가능하지만, 호환성을 위해 제공된 스텁 파일을 조금 수정해야 할 수도 있어요. 스텁 파일에 명시된 버전을 사용할 수 없다면, use v5.XX;를 다음 코드로 바꾸는 걸 권장해요:

use strict;
use warnings;
use feature qw<signatures>;

스텁 파일에 use experimental qw<class>;가 있는데 사용 중인 Perl 버전이 이를 지원하지 않는다면, 이 부분을 use Feature::Compat::Class;로 대체하거나 다른 객체 지향 시스템, 예를 들어 Moo를 사용해도 돼요.

Unix/Linux/Mac OSX

Perl은 아마 이미 설치되어 있을 거예요. 다만 최신 버전이 아닐 수 있어요. perl -v를 실행하면 어떤 버전을 사용 중인지 확인할 수 있어요. 더 최신 버전을 쓰고 싶다면 '기타 옵션' 섹션을 확인해 봐요.

Fedora/Red Hat/CentOS를 사용한다면 일부 핵심 모듈이 Perl에 포함되어 있지 않아요. yum install perl-core 명령으로 설치하면 돼요.

Windows

Strawberry Perl: 다른 곳의 Perl과 똑같은, 100% 오픈 소스 Windows용 Perl이에요. 바이너리 패키지 없이 CPAN의 모듈을 사용할 수 있어요.

사이트에서 직접 설치하거나 chocolatey 패키지 관리자를 사용할 수 있어요.

기타 옵션

  • asdf: Perl을 비롯한 여러 언어를 설치할 수 있게 해 주는 도구 버전 관리자예요. Perl은 커뮤니티 플러그인으로 사용할 수 있어요.
  • perlbrew: $HOME 디렉터리에서 여러 Perl 설치를 관리하는 도구예요. 각 설치는 완전히 분리된 Perl 세계예요.
  • plenv: 홈 디렉터리 아래에 Perl들을 설치하고 모듈을 로컬에 설치할 수 있게 해 주며, 셸에서 원하는 Perl 버전으로 전환할 수 있어요.
  • ActivePerl Community Edition: Windows, Linux, Mac OS X용으로 무료로 제공되는 바로 설치 가능한 Perl 배포판이에요. 비즈니스나 미션 크리티컬하지 않은 커뮤니티 개발자나 오픈 소스 프로젝트를 위해 만들어졌어요.

필요한 모듈 설치하기

Perl 5.40보다 오래된 버전을 사용한다면 Test2::V0 테스트 번들을 설치해야 해요. 또한 OOP 연습 문제를 위해서는 Feature::Compat::Class나 다른 객체 지향 시스템도 설치해야 해요. 다음 안내에 따라 설정해 봐요(이미 Perl에 익숙하다면 평소 쓰던 모듈 설치 프로그램을 사용해도 좋아요):

local::lib

  • exercism CLI가 이미 설치되고 설정되어 있는지 확인해요. exercism workspace를 실행하면 알맞은 경로가 표시될 거예요.

  • cpm 모듈 설치 프로그램을 내려받고, 이 프로그램으로 자기 자신과 local::lib, Test2::V0, Feature::Compat::Class를 exercism/perl5 디렉터리에 설치해요:

# *nix
curl -sL --compressed https://git.io/cpm | \
  perl - install -L $(exercism workspace)/perl5 App::cpm local::lib Test2::V0 Feature::Compat::Class

# Microsoft PowerShell
(Invoke-WebRequest -UseBasicParsing 'https://git.io/cpm').Content |
  perl - install -L "$(exercism workspace)/perl5" App::cpm local::lib Test2::V0 Feature::Compat::Class
  • local::lib를 실행해 exercism/perl5에 설치한 모듈을 사용하도록 환경을 설정해요:
# *nix
eval $(perl -I$(exercism workspace)/perl5/lib/perl5 -Mlocal::lib=$(exercism workspace)/perl5)

# Microsoft PowerShell
perl -I"$(exercism workspace)/perl5/lib/perl5"
  -M"local::lib=--shelltype=powershell,$(exercism workspace)/perl5" | Invoke-Expression

위 명령으로 바뀐 환경은 유지되지 않아서, 셸을 다시 시작하면 다시 실행해야 해요. 매번 환경이 자동으로 설정되게 하고 싶다면 .bashrc(또는 *nix에서 이에 해당하는 파일)나 PowerShell_profile.ps1에 위 명령을 추가하면 돼요.

local::lib 문서는 여기에서 볼 수 있어요.

OS 패키지

또는 사용 중인 OS의 패키지 관리자에 설치할 수 있는 Test2 Suite 패키지가 있을 수 있어요. 사용할 수 있는 옵션은 다음과 같아요: