Friday, May 04, 2007
Perl 펄] 운영체제(OS) 자동 판단 방법, 특수 변수로; Auto Detect Operating System
펄의, $^O 라는 특수 변수 속에는 현재 실행 중인 운영체제의 간략한 이름이 항상 자동으로 들어가 있습니다.
윈도우에서는 MSWin32 라는 값을 가지고, 리눅스에서는 linux 입니다.
$^O 라는 특수 변수를 사용하면, 현재 운영 체제의 종류를 자동으로 판단할 수 있습니다. "달러 기호"+"캐럿 기호"+"알파벳 대문자 O(오)"입니다.
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
함수 형식으로 만들려고 했는데, 운영체제 종류가 한정되어 있지 않아서..
그런데 이 펄 소스를 리눅스에서 실행할 때는, "도스 텍스트"가 아닌 "유닉스 텍스트"로 저장해야 합니다.
윈도우용 펄은, 도스 개행문자든, 유닉스 개행문자든 모두 인식하지만, 리눅스용 펄은 도스 개행문자를 인식하지 못하고 에러를 냅니다. ▶▶ Vim Vi, 도스 텍스트를 유닉스 텍스트로 개행문자 변환; DOS CR-LF to Unix Newline
윈도우에서는 MSWin32 라는 값을 가지고, 리눅스에서는 linux 입니다.
$^O 라는 특수 변수를 사용하면, 현재 운영 체제의 종류를 자동으로 판단할 수 있습니다. "달러 기호"+"캐럿 기호"+"알파벳 대문자 O(오)"입니다.
Perl에서, 현재 실행 오에스 판단 예제
※ 아래 박스 클릭 후, 키보드 화살표 키로 좌우 스크롤 가능함
#!/usr/bin/perl
use strict; use warnings;
# 대문자 오(O)임, "오양 비디오"할 때의 오임. 제로가 아님
print $^O, "\n";
# 윈도우에서는 MSWin32 가 출력
# 리눅스에서는 linux 가 출력
if ($^O eq 'MSWin32') {
print "MS Windows에서 실행 중이시군요.\n";
}
elsif ($^O eq 'linux') {
print "Linux에서 실행 중이시군요.\n";
}
else {
print "그밖의 OS에서 실행 중이시군요.\n";
}
use strict; use warnings;
# 대문자 오(O)임, "오양 비디오"할 때의 오임. 제로가 아님
print $^O, "\n";
# 윈도우에서는 MSWin32 가 출력
# 리눅스에서는 linux 가 출력
if ($^O eq 'MSWin32') {
print "MS Windows에서 실행 중이시군요.\n";
}
elsif ($^O eq 'linux') {
print "Linux에서 실행 중이시군요.\n";
}
else {
print "그밖의 OS에서 실행 중이시군요.\n";
}
함수 형식으로 만들려고 했는데, 운영체제 종류가 한정되어 있지 않아서..
그런데 이 펄 소스를 리눅스에서 실행할 때는, "도스 텍스트"가 아닌 "유닉스 텍스트"로 저장해야 합니다.
윈도우용 펄은, 도스 개행문자든, 유닉스 개행문자든 모두 인식하지만, 리눅스용 펄은 도스 개행문자를 인식하지 못하고 에러를 냅니다. ▶▶ Vim Vi, 도스 텍스트를 유닉스 텍스트로 개행문자 변환; DOS CR-LF to Unix Newline
tag: perl
Perl | 펄
<< Home