# 변수 `use strict;`를 선언하면 엄격한 문법을 적용합니다. 이 경우, 모든 변수는 사용하기 전에 선언되어야 합니다. ```perl #!/usr/bin/perl $var; ``` ```perl #!/usr/bin/perl use strict; my $var; ``` ## 변수의 범위 ```perl #!/usr/bin/perl use warnings; use strict; our $var = 'Charlie'; print "$var\n"; # Charlie { my $var = 'Steve'; print "$var\n"; # Steve } print "$var\n"; # Charlie ``` `my` 는 지역 변수를 선언할 때 사용되는 키워드입니다. 선언된 블록 범위 내에서만 유효합니다. `our`는 전역 변수의 선언에 사용되는 키워드입니다. ## @ARGV 프로그램 실행시 명령행으로부터 전달 받은 매개변수는 **@ARGV** 배열에 저장됩니다. **$#ARGV + 1**은 전달받은 매개 변수의 갯수입니다. ```perl #!/usr/bin/perl use strict; my $size = $#ARGV+1; print "count = $size\n"; for (@ARGV){ print "$_\n"; } ``` ## 특수 변수 | | | | | --- | --- | --- | | \$_ | | | | \$. | | | | \$/ | 입력 레코드 구분자 | | | \$, | 출력 필드 구분자 | | | \$\ | 출력 레코드 구분자 | | | \$" | | | | \$; | | | | \$^L | | | | \$: | | | | \$^A | | | | \$# | | | | \$? | 시스템 콜로부터 돌려받은 상태 코드 | | | \$! | 오류 넘버 또는 오류 메시지 | | | \$@ | 구문 오류 메시지 | | | \$\$ | Perl 프로세스의 PID | | | \$< | UID | | | \$> | | | | \$( | GID | | | \$) | | | | \$0 | | | | | | | | | | |