Tuesday, August 29, 2006
펄/Perl ] 실행시 옵션(인수; 아규먼트 Argument; 파라미터 Parameter) 얻기
가령 ls 명령에 --help 라는 옵션을 주어
라고 실행시키면 ls에 대한 도움말이 나옵니다. "--help" 이런 것을 아규먼트(Argument)라고 하는데, 여기서는 "옵션"이라고 쉽게 지칭했습니다.
물론 펄 스크립트를 실행시킬 때도 옵션을 지정할 수 있습니다.
지정된 옵션을 펄 스크립트 내부에서, 인식하는 방법은 아래와 같습니다:
펄 스크립트명 뒤에 지정한 모든 옵션은 @ARGV 이런 배열 속에 자동으로 들어갑니다. @ARGV 라는 배열은 펄의 기본 배열이라서, 별도로 선언하거나 관리해 줄 필요는 없습니다. $ARGV[0] 이렇게 하면, @ARGV의 첫번째 요소 즉 첫번째 옵션을 뽑아낼 수 있습니다.
$#ARGV + 1은 배열 요소의 개수입니다. 여기서는 옵션의 개수입니다.
위의 코드를 foo.pl 등의 이름으로 저장하고
foo.pl 자장면 짬뽕 탕수육
이렇게 실행하면, 다음과 같은 결과가 나옵니다:
ls --help
라고 실행시키면 ls에 대한 도움말이 나옵니다. "--help" 이런 것을 아규먼트(Argument)라고 하는데, 여기서는 "옵션"이라고 쉽게 지칭했습니다.
물론 펄 스크립트를 실행시킬 때도 옵션을 지정할 수 있습니다.
지정된 옵션을 펄 스크립트 내부에서, 인식하는 방법은 아래와 같습니다:
펄 스크립트명 뒤에 지정한 모든 옵션은 @ARGV 이런 배열 속에 자동으로 들어갑니다. @ARGV 라는 배열은 펄의 기본 배열이라서, 별도로 선언하거나 관리해 줄 필요는 없습니다. $ARGV[0] 이렇게 하면, @ARGV의 첫번째 요소 즉 첫번째 옵션을 뽑아낼 수 있습니다.
$#ARGV + 1은 배열 요소의 개수입니다. 여기서는 옵션의 개수입니다.
펄 실행시 옵션 해석 예제
#!/usr/bin/perl
use strict; use warnings;
printf "전체 옵션 개수: %d\n", $#ARGV + 1;
print "모든 옵션이 든 배열: [@ARGV]\n";
if ($#ARGV == -1) { die "옵션이 없군요.\n"; }
print "1번째 옵션: $ARGV[0]\n" if defined $ARGV[0];
print "2번째 옵션: $ARGV[1]\n" if defined $ARGV[1];
print "3번째 옵션: $ARGV[2]\n" if defined $ARGV[2];
use strict; use warnings;
printf "전체 옵션 개수: %d\n", $#ARGV + 1;
print "모든 옵션이 든 배열: [@ARGV]\n";
if ($#ARGV == -1) { die "옵션이 없군요.\n"; }
print "1번째 옵션: $ARGV[0]\n" if defined $ARGV[0];
print "2번째 옵션: $ARGV[1]\n" if defined $ARGV[1];
print "3번째 옵션: $ARGV[2]\n" if defined $ARGV[2];
위의 코드를 foo.pl 등의 이름으로 저장하고
foo.pl 자장면 짬뽕 탕수육
이렇게 실행하면, 다음과 같은 결과가 나옵니다:
D:\Z>foo.pl 자장면 짬뽕 탕수육
전체 옵션 개수: 3
모든 옵션이 든 배열: [자장면 짬뽕 탕수육]
1번째 옵션: 자장면
2번째 옵션: 짬뽕
3번째 옵션: 탕수육
D:\Z>
전체 옵션 개수: 3
모든 옵션이 든 배열: [자장면 짬뽕 탕수육]
1번째 옵션: 자장면
2번째 옵션: 짬뽕
3번째 옵션: 탕수육
D:\Z>
tag: perl
Perl | 펄
<< Home