Linux Admin-CentOS Linux 용 Perl 설정
Perl오랫동안 주변에있었습니다. 원래 텍스트 파일을 구문 분석하는 데 사용되는보고 언어로 설계되었습니다. 인기가 높아짐에 따라 Perl은 강력한 스크립팅 언어에 필요한 모듈 지원 또는 CPAN, 소켓, 스레딩 및 기타 기능을 추가했습니다.
PHP, Python 또는 Ruby에 비해 Perl의 가장 큰 장점은 최소한의 번거 로움으로 작업을 수행 할 수 있다는 것입니다. Perl의이 철학이 항상 올바른 방식으로 작업을 수행한다는 의미는 아닙니다. 그러나 Linux에서 관리 작업의 경우 Perl은 스크립팅 언어에 대한 선택으로 간주됩니다.
Python이나 Ruby에 비해 Perl의 장점은 다음과 같습니다.
강력한 텍스트 처리
Perl은 스크립트 작성을 빠르고 더럽게 만듭니다 (일반적으로 Perl 스크립트는 Python 또는 Ruby의 동등한 스크립트보다 수십 줄 더 짧습니다)
Perl은 무엇이든 할 수 있습니다 (거의)
Perl의 몇 가지 단점은 다음과 같습니다.
구문이 혼란 스러울 수 있습니다.
Perl의 코딩 스타일은 독특하고 협업을 방해 할 수 있습니다.
Perl은 실제로 객체 지향이 아닙니다.
일반적으로 Perl을 사용할 때 표준화 및 모범 사례에 대해 많은 생각을하지 않습니다.
Perl, Python 또는 PHP 사용 여부를 결정할 때 다음과 같은 질문을해야합니다.
- 이 응용 프로그램에 버전 관리가 필요합니까?
- 다른 사람이 코드를 수정해야합니까?
- 다른 사람들이이 응용 프로그램을 사용해야합니까?
- 이 애플리케이션이 다른 시스템이나 CPU 아키텍처에서 사용될 수 있습니까?
위의 모든 답변이 "아니오"인 경우 Perl은 좋은 선택이며 최종 결과 측면에서 속도를 높일 수 있습니다.
이에 대해 언급 했으므로 최신 버전의 Perl을 사용하도록 CentOS 서버를 구성 해 보겠습니다.
Perl을 설치하기 전에 Perl에 대한 지원을 이해해야합니다. 공식적으로 Perl은 마지막 두 안정 버전까지만 지원됩니다. 따라서 우리는 개발 환경을 CentOS 버전과 분리하여 유지하고 싶습니다.
격리 이유는 누군가가 Perl의 도구를 CentOS 커뮤니티에 릴리스하면 CentOS와 함께 제공되는 Perl에서 작동하도록 수정 될 가능성이 더 높기 때문입니다. 그러나 우리는 또한 개발 목적으로 최신 버전을 설치하고 싶습니다. Python과 마찬가지로 CentOS는 최첨단이 아닌 안정성에 중점을 둔 Perl을 제공합니다.
CentOS 7에서 현재 Perl 버전을 확인해 보겠습니다.
[root@CentOS]# perl -v
This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi
현재 Perl 5.16.3을 실행하고 있습니다. 이 글을 쓰는 현재 최신 버전은 다음과 같습니다 : perl-5.24.0
코드에서 최신 Perl 모듈을 사용할 수 있도록 버전을 업그레이드하고 싶습니다. 다행히도 Perl 환경을 유지하고 Perl의 CentOS 버전을 격리 할 수있는 훌륭한 도구가 있습니다. 그것은이라고perlbrew.
Perl Brew를 설치합시다.
[root@CentOS]# curl -L https://install.perlbrew.pl | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 170 100 170 0 0 396 0 --:--:-- --:--:-- --:--:-- 397
100 1247 100 1247 0 0 1929 0 --:--:-- --:--:-- --:--:-- 1929
이제 Perl Brew가 설치되었으므로 최신 버전의 Perl을위한 환경을 만들어 보겠습니다.
첫째, perlbrew 설치를 부트 스트랩하려면 현재 설치된 Perl 버전이 필요합니다. 따라서 CentOS 저장소에서 필요한 Perl 모듈을 가져 오겠습니다.
Note − 가능한 경우 항상 CentOS Perl 설치와 함께 CPAN 대신 CentOS Perl 모듈을 사용하려고합니다.
Step 1 − CentOS Perl Make :: Maker 모듈을 설치합니다.
[root@CentOS]# yum -y install perl-ExtUtils-MakeMaker.noarch
Step 2 − 최신 버전의 perl을 설치합니다.
[root@CentOS build]# source ~/perl5/perlbrew/etc/bashrc
[root@CentOS build]# perlbrew install -n -j4 --threads perl-5.24.1
Perl 설치를 위해 선택한 옵션은 다음과 같습니다.
n − 테스트 없음
j4 − 설치 루틴을 위해 4 개의 스레드를 병렬로 실행 (우리는 쿼드 코어 CPU를 사용하고 있음)
threads − Perl에 대한 스레딩 지원 활성화
설치가 성공적으로 수행 된 후 최신 Perl 환경으로 전환하겠습니다.
[root@CentOS]# ~/perl5/perlbrew/bin/perlbrew use perl-5.24.1
A sub-shell is launched with perl-5.24.1 as the activated perl. Run 'exit' to finish it.
[root@CentOS]# perl -v
This is perl 5, version 24, subversion 1 (v5.24.1) built for x86_64-linuxthread-multi
(with 1 registered patch, see perl -V for more detail)
Copyright 1987-2017, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the GNU General
Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on this system
using "man perl" or "perldoc perl". If you have access to the Internet, point your
browser at http://www.perl.org/, the Perl Home Page.
[root@CentOS]#
Perlbrew 환경에서 실행되는 간단한 perl 스크립트 인쇄 perl 버전-
[root@CentOS]# cat ./ver.pl
#!/usr/bin/perl
print $^V . "\n";
[root@CentOS]# perl ./ver.pl
v5.24.1
[root@CentOS]#
Perl이 설치되면 perl brew의 cpanm으로 cpan 모듈을로드 할 수 있습니다.
[root@CentOS]# perl-brew install-cpanm
이제 cpanm 설치 프로그램을 사용하여 perl brew에서 현재 Perl 버전 5.24.1로 LWP 모듈을 만들어 보겠습니다.
Step 1 − 현재 Perl 버전의 컨텍스트로 전환하십시오.
[root@CentOS ~]# ~/perl5/perlbrew/bin/perlbrew use perl-5.24.1
perl-5.24.1이 활성화 된 perl로 하위 쉘이 시작됩니다. 완료하려면 '종료'를 실행하십시오.
[root@CentOS ~]#
Step 2 − LWP 사용자 에이전트 Perl 모듈을 설치합니다.
[root@CentOS ~]# ~/perl5/perlbrew/bin/cpanm -i LWP::UserAgent
Step 3 − 이제 새로운 CPAN 모듈로 Perl 환경을 테스트 해 보겠습니다.
[root@CentOS ~]# cat ./get_header.pl
#!/usr/bin/perl
use LWP;
my $browser = LWP::UserAgent->new();
my $response = $browser->get("http://www.slcc.edu/");
unless(!$response->is_success) {
print $response->header("Server");
}
[root@CentOS ~]# perl ./get_header.pl
Microsoft-IIS/8.5 [root@CentOS ~]#
거기 있습니다! Perl Brew는 perl 환경을 간단하게 격리 할 수 있으며 Perl에서 얻을 수있는 모범 사례로 간주 될 수 있습니다.