switch 문을 사용하면 여러 값과 동일한 변수를 테스트할 수 있습니다. 각 값을 케이스라고 하며, 테스트 중인 변수는 각 스위치 케이스 에 대해 확인됩니다.
스위치 케이스 실행은 기본적으로 설치되지 않는 스위치 모듈을 기반으로 합니다.
Switch.pm 모듈 설치
CPAN을 사용하여 설치
명령 창을 열고 cpan 명령을 입력한 후 install Switch 명령을 입력합니다.
# cpancpan[1]> 스위치 설치 // cpan[2] 설치> 종료 // 종료
apt-get을 사용한 우분투 설치
sudo apt-get libswitch-perl 설치
문법
구문 형식은 다음과 같습니다.
문법
스위치 사용 ; 스위치 ( 인수 ) { 사례 1 { 인쇄 " 넘버 1 " } 사례 " 에 " { 인쇄 " 문자열 a " } 사례 [ 1..10,42 ] { 인쇄 " 번호는 목록에 있습니다 " } 사례 ( @배열 ) { 인쇄 " 배열의 숫자 " } 케이스 / w+ / { 인쇄 " 정규 매칭 패턴 " } 사례 qr /w+/ { p r int " 정규 매칭 패턴 " } 사례 ( %해시 ) { 인쇄 " 해시 " } 사례 ( & 하위 ) { 인쇄 " 자식 프로세스 " } 또 다른 { 인쇄 " 이전 조건과 일치하지 않습니다 ." } } 다음은 switch 문의 규칙입니다.
모든 유형의 스칼라 매개변수는 스위치 문의 괄호 안에 사용될 수 있습니다.
스위치에는 여러 개의 Case 문이 있을 수 있습니다. 각 사례 뒤에는 비교할 값과 콜론이 옵니다.
Case 문 뒤의 스칼라는 switch 문의 스칼라와 비교되어 동일한지 여부를 결정합니다.
테스트 중인 변수가 Case의 상수와 같을 때, break 문을 만날 때까지 Case 뒤의 명령문이 실행됩니다.
switch 문의 끝에는 모든 경우가 일치하지 않는 경우 실행되는 선택적인 else 문이 있을 수 있습니다.
Case가 일치하면 Case 문 블록 코드가 실행되고, 실행 후 Switch 문이 튀어나옵니다.
Case를 일치시킨 후 다음 Case 문을 계속 실행해야 한다면 다음 문을 추가해야 합니다.
흐름도
예
#!/usr/bin/perl $ var = 10 ; @array = ( 10 , 20 , 30 ) ; % hash = ( ' key1 ' = > 10 , ' key2 ' = > 20 ) ; 사례 10 { 인쇄 " 10번 n " } 사례 " 에 " { 인쇄 " 문자열 a " } 사례 [ 1..10,42 ] { 인쇄 " 번호는 목록에 있습니다 " } 사례 ( @배열 ) { 인쇄 " 배열의 숫자 " } 사례 ( %해시 ) { 인쇄 " 해시에서 " } 또 다른 { 인쇄 " 일치하는 기준이 없습니다 " } } 위 프로그램을 실행하면 출력 결과는 다음과 같습니다.
10번
다음으로 next 사용 예를 살펴보겠습니다.
예
#!/usr/bin/perl $ var = 10 ; @array = ( 10 , 20 , 30 ) ; % hash = ( ' key1 ' = > 10 , ' key2 ' = > 20 ) ; 사례 10 { 인쇄 " 10 번 n " ; # 매칭 후 계속 실행 사례 " 에 " { 인쇄 " 문자열 a " } 사례 [ 1..10,42 ] { 인쇄 " 번호는 목록에 있습니다 " } 사례 ( @배열 ) { 인쇄 " 배열의 숫자 " } 사례 ( %해시 ) { 인쇄 " 해시에서 " } 또 다른 { 인쇄 " 일치하는 조건이 없습니다 " } } 위 프로그램을 실행하면 출력 결과는 다음과 같습니다.
목록의 숫자 10