일부 특수 변수는 Perl 언어로 정의되며 일반적으로 $, @ 또는 % 접두사가 붙습니다(예: $_).
많은 특수 변수에는 긴 영어 이름이 있습니다. $OS_ERROR로 운영 체제 변수를 작성할 수 있습니다.
영어 이름으로 특수 변수를 사용하려면 프로그램 선두에 use English를 추가해야 합니다. 이를 통해 설명적인 영어 특수 변수를 사용할 수 있습니다.
가장 일반적으로 사용되는 특수 변수는 $_이며, 여기에는 기본 입력 및 패턴 일치 내용이 포함됩니다. 예는 다음과 같습니다:
위 프로그램을 실행하면 출력 결과는 다음과 같습니다.
GoogleCodercto타오바오
다음 예에서는 내용을 출력하기 위해 $_를 사용하지 않습니다.
위 프로그램을 실행하면 출력 결과는 다음과 같습니다.
GoogleCodercto타오바오
예제에서는 "Google"이 먼저 출력되고, "Codercto"가 출력되고, 마지막으로 "Taobao"가 출력됩니다.
반복 루프에서는 현재 루프의 문자열이 $_에 배치된 다음 인쇄를 통해 출력됩니다. 또한 print는 출력 변수를 지정하지 않으며 기본적으로 $_가 사용됩니다.
Perl이 지정되지 않은 경우에도 $_를 가정하는 몇 군데는 다음과 같습니다.
ord() 및 int()와 같은 함수와 기본적으로 STDIN에서 작동하는 "-t"를 제외한 모든 파일 테스트 작업("-f", "-d")을 포함한 다양한 단항 함수입니다.
print() 및 unlink()와 같은 다양한 목록 기능.
"=~" 연산자가 없는 패턴 일치 작업 "m//", "s///" 및 "tr///".
다른 변수가 지정되지 않은 경우 "foreach"의 기본 반복 변수는 반복됩니다.
grep() 및 map() 함수에 대한 암시적 반복 변수입니다.
"while"에 조건이 하나만 있고 해당 조건이 "" 작업의 결과를 테스트하는 경우 $_가 입력 레코드의 기본 위치입니다. 이는 "while" 테스트 조건을 제외하고는 발생하지 않습니다. (니모닉: 특정 작업에서는 밑줄을 생략할 수 있습니다.)
특수 변수의 사용 성격에 따라 다음과 같은 범주로 나눌 수 있습니다.
전역 스칼라 특수 변수.
전역 배열 특수 변수.
전역 해시 특수 변수입니다.
전역 특수 파일 핸들.
전역 특수 상수.
정규식 특수 변수.
파일 핸들 특수 변수.
다음은 특수 문자 및 영어 형식이 포함된 변수를 포함하여 모든 스칼라 특수 변수를 나열합니다.
$_ | 기본 입력 및 패턴 일치 콘텐츠입니다. |
$ARG | |
$. | 마지막으로 읽은 파일 핸들의 현재 줄 번호 |
$NR | |
$/ | 기본적으로 새 줄 문자로 설정되는 레코드 구분 기호를 입력합니다. undef 변수를 사용하면 파일의 끝 부분을 읽습니다. |
$RS | |
$, | 출력 필드 구분 기호 |
$OFS | |
$ | 출력 레코드 구분 기호 |
$ORS | |
$" | 이 변수는 $와 유사하지만 배열 및 슬라이스 값을 큰따옴표로 묶인 문자열(또는 유사한 보간된 문자열)로 보간하는 데 사용해야 합니다. 기본값은 공백 1개입니다. |
$LIST_SEPARATOR | |
$; | 다차원 배열을 시뮬레이션할 때 사용되는 구분 기호입니다. 기본값은 " |