Friday, January 06, 2006
Perl 펄] 배열(Array) 덤프; 디버그용
아래의 DumpArray 는 배열에 든 내용을 화면에 출력하는 서브루틴이다. 일반 배열뿐 아니라, 프로그램 실행시에 주어진 파라미터(옵션)의 배열 즉 @ARGV 도 출력할 수 있다. -h 등의 옵션을 분석하는 데 유용하다.
해쉬와 달리 배열의 출력은 간단한데, 다만 @ARGV 의 경우 C와는 달리 $ARGV[0] 에 프로그램 자체의 경로와 이름(이 예제의 경우는 "D:\Z\example.pl")이 들어가지 않는다. 단순히 첫번째 파라미터가 들어간다. 프로그램 자체의 이름은 $0 에 자동으로 대입되어 있으므로, print $0; 로 출력할 수 있다.
#!/usr/bin/perl
use strict; use warnings;
&DumpArray(@ARGV);
sub DumpArray {
printf "Array Total Elements: %d\n", $#_ + 1;
for (my $i = 0; $i <= $#_; $i++) {
printf "[%d] = \"$_[$i]\"\n", $i;
}
}
아래는 프로그램의 실행 결과인데 7364 577 mwultong 이라는 세 개의 옵션을 주었다:
D:\Z>example.pl 7364 577 mwultong
Array Total Elements: 3
[0] = "7364"
[1] = "577"
[2] = "mwultong"
▶▶ 펄.Perl] 배열 출력, 배열을 문자열로 변환, Print Array, Array to String
해쉬와 달리 배열의 출력은 간단한데, 다만 @ARGV 의 경우 C와는 달리 $ARGV[0] 에 프로그램 자체의 경로와 이름(이 예제의 경우는 "D:\Z\example.pl")이 들어가지 않는다. 단순히 첫번째 파라미터가 들어간다. 프로그램 자체의 이름은 $0 에 자동으로 대입되어 있으므로, print $0; 로 출력할 수 있다.
#!/usr/bin/perl
use strict; use warnings;
&DumpArray(@ARGV);
sub DumpArray {
printf "Array Total Elements: %d\n", $#_ + 1;
for (my $i = 0; $i <= $#_; $i++) {
printf "[%d] = \"$_[$i]\"\n", $i;
}
}
아래는 프로그램의 실행 결과인데 7364 577 mwultong 이라는 세 개의 옵션을 주었다:
D:\Z>example.pl 7364 577 mwultong
Array Total Elements: 3
[0] = "7364"
[1] = "577"
[2] = "mwultong"
▶▶ 펄.Perl] 배열 출력, 배열을 문자열로 변환, Print Array, Array to String
tag: perl
Perl | 펄
<< Home