펄 특수 변수
펄 언어는 예를 들면, 접두사로서 특별한 변수 보통 $ @ 또는 %를 정의 $ _.
많은 특별한 변수가 매우 긴 영어 이름을 가지고 운영 체제 변수 $는! $ OS_ERROR로 작성 할 수 있습니다.
이 프로그램의 특수 변수의 영어 이름을 사용하려면사용하는 영어를 추가하기 위해 머리를해야 ;.이 영어 특수 변수 서술적인.
가장 일반적으로 사용되는 특수 변수 $는 _ 변수는 기본 입력 패턴과 일치하는 내용이 포함되어 있습니다. 다음 예는 다음과 같다 :
#!/usr/bin/perl foreach ('Google','w3big','Taobao') { print $_; print "\n"; }
위의 프로그램은 출력은 다음과 같습니다
Google w3big Taobao
다음의 예는 우리가 출력 $ _를 사용하지 마십시오 :
#!/usr/bin/perl foreach ('Google','w3big','Taobao') { print; print "\n"; }
위의 프로그램은 출력은 다음과 같습니다
Google w3big Taobao
예를 들어, 제 1 출력 "구글"을 선택한 후 출력 "w3big"최종 출력 "Taobao의".
반복 루프에서, $에있는 문자열의 전류 루프 _ 다음 인쇄 출력을 통해. 또한 출력 변수가 _ $의 기본값으로 사용됩니다 지정하지 않고 인쇄 할 수 있습니다.
다음은 _도 펄이없는 소수의 주 $을 가정 할 것이다 장소 :
- ORD로 () 및 INT () 함수를 포함 단안 다양한 기능, 등 추가하여 "-t"모든 파일 검사 ( "-f", "- D"), "- t"기본 작업 STDIN.
- 이러한 인쇄 () 및 링크 해제 등의 다양한 기능의 목록 ().
- 은 "= ~"연산자 모드를 사용하지 않는 경우에 매칭 동작 "m //", "S ///"및 "TR ///".
- 다른 변수는 "foreach는"루프를 반복 변수 기본값을 제공하지 않는 경우.
- 암시 적 반복 변수 그렙 ()와지도 () 함수.
- 경우에만 유일한 조건과 조건이 ""동작 테스트의 결과이며, "동시에"는 $ _ 입력 레코드를 저장하기위한 기본 위치이다. 일어나지 않을 것 "동안"시험 조건 이외에. (니모닉 : 생략 될 수있는 특정 동작 밑줄).
특수한 변수 타입
다음 범주로 분류 될 수있는 변수의 사용 특수성에 따르면
특별 글로벌 스칼라 변수입니다.
특별 전역 배열 변수입니다.
특별 전역 변수를 해시.
글로벌 특수 파일 핸들입니다.
글로벌 특수 정수입니다.
특별한 변수를 정규 표현식.
파일은 특별한 변수를 처리합니다.
특별 글로벌 스칼라 변수
변수의 형태로 특수 문자와 영어를 포함하는 모든 특수 스칼라 변수의 목록입니다 :
$ _ | 기본 입력과 패턴이 내용을 일치. |
$ ARG | |
$. | 파일 핸들의 이전 읽기 현재 행 번호 |
$ NR | |
$ / | 기본적으로 입력 레코드 분리, 개행 문자. 이 변수 미확정와 마찬가지로 파일의 끝을 읽습니다. |
$의 RS | |
$, | 출력 필드 분리 |
$ OFS | |
$ \ | 출력 레코드 분리 |
$ ORS | |
$ " | 동일한 $ 변수는 비슷하지만 경우 슬라이스 값의 배열 내에 삽입되어 큰 따옴표 (또는 유사한 문자열 보간)에 포함 된 문자열에 적용. 기본값은 비어 있습니다. |
$ LIST_SEPARATOR | |
$; | 구분이 때 다차원 배열 에뮬레이션을 사용했다. 기본값은 "\ 034."입니다 |
$ SUBSCRIPT_SEPARATOR | |
$ ^ L | 출력 채널로 전송하는 급지 특성을 가지고. 기본값은 "\ f를"입니다. |
$ FORMAT_FORMFEED | |
$ : | 문자열이 연속 필드를 채우기 위해 파괴 될 수있는 한 후 문자의 현재 세트는 형식 (^로 시작). 기본값은 "\ n" "입니다. |
$의 FORMAT_LINE_BREAK_CHARACTERS | |
$ ^ | 저장하는 다양한 데이터 포맷을 인쇄하기 전에 |
$ ACCUMULATOR | |
$ # | 당신은 디지털 기본 디지털 출력 형식 (구식) 인쇄 할 때. |
$ OFMT | |
$? | 외부 명령의 상태로 돌아 |
$ CHILD_ERROR | |
$! | 이 변수의 숫자 값의 errno의 값, 문자열 값은 해당 시스템 오류 문자열입니다 |
$ OS_ERROR 또는 $ ERRNO | |
$ @ | 비어있는 경우, 평가 명령 오류 메시지가 성공적으로 완료된 최종 평가 명령을 의미 |
$ EVAL_ERROR | |
$$ | 펄 스크립트는 현재의 프로세스 ID를 실행합니다 |
$ PROCESS_ID 또는 $ PID | |
$ < | 현재 프로세스의 실제 가입자 번호 |
$ REAL_USER_ID 또는 $의 UID | |
$> | 현재 프로세스의 유효 사용자 수 |
$ EFFECTIVE_USER_ID 또는 $ EUID | |
$ ( | 사용자 그룹의 현재 프로세스 실제 개수 |
$ REAL_GROUP_ID 또는 $ GID | |
$) | 현재 프로세스의 유효 사용자 그룹 번호 |
$ EFFECTIVE_GROUP_ID 또는 $ EGID | |
$ 0 | 파일 이름은 스크립트가 실행될 포함 |
$ PROGRAM_NAME | |
$의 [ | 어레이 배열의 첫 번째 요소의 인덱스, 기본값은 0이다. |
$] | 펄 버전 번호 |
$ PERL_VERSION | |
$ ^ D | 디버그 플래그의 값 |
$ 디버깅 | |
$ ^ E | 비 UNIX에서 운영 체제 환경은 오류 정보를 확장 |
$ EXTENDED_OS_ERROR | |
$ ^ F | 상기 번들의 최대 파일 식별자 값 |
$ SYSTEM_FD_MAX | |
$ ^ H | 컴파일러 구문 확인 상태에 의해 활성화 |
$ ^ I | 내장 에디터의 제어 값 |
$ INPLACE_EDIT | |
$ ^ M | 사이즈 스페어 메모리 풀 |
$ ^ O | 운영 체제 이름 |
$ OSNAME | |
$ ^ P | 현재 디버거 내부 변수 값을 지정합니다 |
$ PERLDB | |
$ ^ T | 새로운 세기의 시작부터, 초의 속도는 시간이 부족하기 시작 |
$ BASETIME | |
$ ^ W | 경고 스위치의 전류 값 |
$ 경고 | |
$ ^ X | 펄 바이너리 실행 코드 명 |
$ EXECUTABLE_NAME | |
$ ARGV | 때 기본 파일 핸들에서 읽은 현재 파일 이름 |
특별 전역 배열 변수
@ARGV | 스크립트 명령 행 인수 목록 |
@INC | 이 모듈 디렉토리 목록을 가져올 때 검색 할 |
@F | 명령 라인 어레이를 입력 |
특별 전역 변수를 해시
% INC | 키워드가 파일 이름에 포함 INC가 DO로 모든 파일을 포함 % 해시 또는 문장을 요구 값은 파일의 경로 |
%의 ENV | 현재의 환경 변수를 포함 |
% SIG | 어떻게 처리하는 신호 목록 |
글로벌 특수 파일 핸들
ARGV | 모든 파일 이름 배열 변수 @ARGV를 통해 특수 파일 핸들 |
STDERR | 표준 출력 핸들 오류 |
STDIN | 표준 입력 핸들 |
STDOUT | 표준 출력 핸들 |
DATA | 특수 파일 핸들 참조 후 스크립트의 내용이 포함 된 파일의 모든 콘텐츠 __END__ 플래그입니다. 또는 콘텐츠 파일의 모든에 대한 참조가 __ DATA__만큼 동일한 패킷 데이터를 읽고으로, 후 __DATA__ 플래그가 포함되어 있습니다. |
_ (밑줄) | 자세한 내용은 특수 파일 핸들 캐시 파일 (fstat를, 통계 및 lstat는). |
글로벌 특별한 일정
__END__ | 스크립트의 논리적 끝, 텍스트가 후에 무시했다. |
__FILE__ | 현재 파일 이름 |
__LINE__ | 현재 행 번호 |
__PACKAGE__ | 현재 패키지 이름, 기본 패키지 이름은 기본이다. |
정규식 특수 변수
$ N | n 번째 문자열과 일치하는 최종 패턴을 포함 |
$ & | 이전 성공 패턴과 일치하는 문자열 |
$ MATCH | |
$` | 이전 콘텐츠의 성공 일치 마지막 문자열 |
$ PREMATCH | |
$ ' | 문자열 후 콘텐츠 마지막으로 성공한 경기 |
$의 POSTMATCH | |
$ + | 그리고 마지막 정규 표현식 검색 마지막 괄호 매칭 형식입니다. 예를 들면 : /Version: (.*)|Revision: (.*)/ && ($rev = $+); |
$ LAST_PAREN_MATCH |
특수 변수를 처리 - 파일
$ | | 각 함수 호출 기록 또는 인쇄 후 제로로 설정하면, 자동으로 함수 fflush는이 기록 된 내용이 파일을 작성합니다 호출 |
$ OUTPUT_AUTOFLUSH | |
$ %의 | 현재 출력 페이지 번호 |
$ FORMAT_PAGE_NUMBER | |
$ = | 현재 페이지 길이. 기본값은 60입니다. |
$ FORMAT_LINES_PER_PAGE | |
$ - | 나머지 라인의 현재 페이지 번호 |
$ FORMAT_LINES_LEFT | |
$ ~ | 보고서 출력 형식의 현재 이름입니다. 디폴트 값은 파일 핸들의 이름이다. |
$ FORMAT_NAME | |
$ ^ | 현재 보고서 출력 테이블 이름 헤더 형식입니다. 기본값은 접미사 "_TOP"파일 핸들 이름이다. |
$ FORMAT_TOP_NAME |