top 25 perl interview questions you should prepare 2021
코드 예제와 함께 가장 인기있는 Perl 인터뷰 질문 :
Perl은 다양한 실시간 응용 프로그램을 구축하기위한 문자열 조작, 배열 조작 등과 같은 기능을 갖춘 컴퓨터 프로그래밍 분야에서 가장 강력한 스크립팅 언어 중 하나입니다.
이 기사에는 Perl Programming의 인터뷰에 나오는 후보자에게 물어볼 수있는 잠재적 인 질문 목록이 포함되어 있습니다.
이러한 질문과 답변이 인터뷰 준비에 충분하다고 주장하지는 않지만 모든 수준의 응시자들이 Perl 스크립팅 언어를 이해하는 데 크게 도움이 될 것이라고 확신합니다.
학습 내용 :
Perl 인터뷰 질문
다음은 전문가가 답변 한 가장 자주 묻는 Perl 스크립팅 인터뷰 질문입니다.
탐험하자 !!
Perl 소개
질문 # 1) Perl 언어가 무엇인지 설명하십시오.
대답: Perl은 'Practical Extraction and Reporting Language'의 약자입니다. 강력한 스크립팅 언어이며 기능이 풍부합니다. Perl을 사용하면 미션 크리티컬 프로젝트에서 사용할 수있는 강력하고 효율적인 코드를 작성할 수 있습니다.
Q # 2) Perl의 다양한 장단점은 무엇입니까?
대답: Perl의 장점은 다음과 같습니다.
- Perl은 효율적이고 사용하기 쉽습니다.
- 해석 된 언어입니다. 즉 Perl 프로그램은 문별로 해석됩니다.
- Perl은 이식 가능하고 교차 플랫폼입니다. 현재 100 개 이상의 플랫폼에서 실행할 수 있습니다.
- Perl은 확장 가능합니다. 추가 기능을 위해 Perl 프로그램에 다양한 오픈 소스 패키지와 모듈을 포함 할 수 있습니다. 예를 들면 , 우리는 Perl 프로그램에서 데이터베이스 지원을 위해 CPAN 모듈을 가져올 수 있습니다.
메인 Perl의 단점 해석 언어이기 때문에 실행 속도가 상당히 느립니다. 높은 수준의 코드를 작성할 수 있지만 Perl을 사용하여 복잡한 코드를 작성할 수는 없습니다. Perl에는 프로그래머가 이해할 수없는 기능이 너무 많습니다.
Q # 3) Perl의 다양한 용도는 무엇입니까?
대답: Perl은 방위 산업과 같은 미션 크리티컬 프로젝트에 사용됩니다. 또한 'Rapid Prototyping'에도 사용됩니다.
Q # 4) Perl의 다양한 특성을 설명해주세요.
대답: 다음은 Perl의 다양한 특성입니다.
- 대소 문자 구분
- 간편한 코딩
- 오픈 소스
- 휴대용 및 크로스 플랫폼.
- 확장 가능
- 변수 유형간에 구별이 없습니다.
- 배열 등과 같은 비선형 유형을 반환 할 수 있습니다.
- 비 스칼라는 루프 인덱스로 사용할 수 있습니다.
- 높은 수준의 고유 작업 지원 – 예 : 스택 푸시 / 팝.
- 정규 표현식을 포함한 강력한 텍스트 조작 API.
Q # 5) Perl에서 프로그램의 실행을 설명하십시오.
대답: Perl은 이식 가능하며 Perl 프로그램은 모든 플랫폼에서 실행할 수 있습니다. Perl IDE가 있으면 유용하지만 메모장에 Perl 코드를 작성한 다음 명령 프롬프트를 사용하여 프로그램을 실행할 수도 있습니다.
예를 들어 , 'Hello, World !!'를 인쇄하는 다음 간단한 프로그램을 고려하십시오.
#!/usr/bin/perl Print(“Hello, World!!”);
이 코드에서 첫 번째 줄 '#! / usr / bin / perl'은 Perl 인터프리터의 경로입니다.
4 년 경력의 셀레늄 인터뷰 질문
이 파일의 이름을 'hello.pl'로 지정하겠습니다. 명령 창에서 다음 명령을 입력하여이 프로그램을 실행할 수 있습니다.
pl hello.pl
산출: 안녕하세요, 세계 !!
Q # 6) Perl 프로그램을 실행하는 동안 사용할 수있는 다양한 플래그 / 인수는 무엇입니까?
대답: Perl 프로그램을 실행하는 동안 다음 인수를 사용할 수 있습니다.
- w – 인수가 경고를 표시합니다.
- d – 디버깅에 사용됩니다.
- c – 컴파일 만 실행되지 않습니다.
- e – 실행합니다.
다음과 같은 인수 조합을 사용할 수도 있습니다.
pl –wd filename.pl
Perl의 변수
Q # 7) Perl의 데이터 유형 및 변수에 대한 설명.
대답: Perl 변수에는 데이터 유형이 없습니다. Perl에서 변수의 데이터 유형은 해당 값에서 유추됩니다.
Perl의 변수는 다음과 같이 정의 할 수 있습니다.
$x = 10; $base_str = ‘Hello’;
변수를 사용하기 전에 값을 할당해야합니다. 그렇지 않으면 프로그램이 예기치 않은 출력을 초래할 수 있습니다.
Q # 8) Perl에서 스칼라 란 무엇입니까?
대답: 정수, 부동 소수점 또는 문자열과 같은 선형 데이터 유형의 값을 갖는 변수는 Perl에서 스칼라 변수라고합니다.
$x=10; $mystr=”abc”;
이들은 모두 스칼라 변수입니다.
Q # 9) Perl의 변수 범위에 대한 설명.
대답: 기본적으로 Perl의 모든 변수는 범위에서 전역입니다. 이것은 변수가 선언 시점부터 프로그램을 상기시키는 데 사용될 수 있음을 의미합니다.
변수에 'my'키워드를 사용하면 변수가 로컬 범위를 갖도록 만들 수 있습니다.
예: 내 $ x = 10;
연산자
Q # 10) Perl에서 숫자 연산자는 무엇입니까?
대답: Perl의 숫자 연산자는 다음과 같습니다.
- 산술 연산자 (+,-, * /).
- 두 숫자를 비교하는 비교 연산자 (>,<, ==, !=,=,).
- 비트 연산자 (& (and), | (or), ^ (ex-or), ~ (not),<>(오른쪽으로 이동)).
산술 연산자는 왼쪽에서 오른쪽으로 수행하고 비트 연산자는 오른쪽에서 왼쪽으로 작업을 수행합니다.
Q # 11) Perl의 문자열 비교 연산자를 설명하십시오.
대답: Perl은 아래와 같이 다양한 문자열 연산자를 지원합니다.
평등 | 연산자 |
---|---|
크거나 같음 | 주기 |
같은 | eq |
같지 않음 | 태어난 |
비교 | cmp |
이하 | lt |
보다 큰 | gt |
작거나 같음 | 그만큼 |
이 연산자는 두 문자열을 비교하는 데 사용할 수 있습니다.
Q # 12) Perl에서 다른 문자열 조작 연산자는 무엇입니까?
대답: Perl은 문자열을 조작하는 두 가지 다른 연산자를 제공합니다.
- 연결 연산자 (.) : 두 문자열을 결합하여 결과 문자열을 형성합니다.
- 반복 연산자 (x) : 지정된 횟수만큼 문자열을 반복합니다.
예
$str1 = “abc”; $str2 = “def”; $str3 = $str1.$str2; #concatenates the string and str3 has value ‘abcdef’
Q # 13) chomp () 연산자 / 함수는 무엇입니까?
대답: chomp () 연산자는 문자열의 마지막 문자를 제거하고 제거 된 문자 수를 반환합니다.
chomp () 연산자는 줄 바꿈 ( n) 문자를 제거하는 데 사용할 수있는 콘솔에서 입력 데이터를 읽는 동안 유용합니다.
예를 들어,
$str = ; #enter hello through standard input and press Enter. chomp($str);
hello 뒤에 입력 한‘ n’문자가 잘립니다.
Perl의 배열
Q # 14) Perl에서 배열과 목록을 구별하십시오.
대답: 목록과 배열은 모두 요소 집합으로 정의 할 수 있습니다. Perl에서 목록과 배열의 주요 차이점은 목록이 변경 불가능하다는 것입니다. 즉, 직접 변경할 수 없습니다.
Perl에서 목록은 이름이없는 배열입니다. 따라서 대부분의 경우 배열과 목록은 같은 의미로 사용됩니다. 배열은 변경 가능하며 그 내용은 크기가 커지거나 줄어들 수 있습니다.
따라서 목록의 내용을 변경하기 위해 목록을 배열로 저장할 수 있습니다. 배열은 목록에 대한 동적 저장소를 제공하는 변수입니다.
Q # 15) Perl에서 배열을 설명하십시오.
대답: Perl의 배열은 스칼라 요소 만 포함합니다. 즉, 배열은 다른 배열을 요소로 포함 할 수 없습니다.
배열은 다음과 같이 선언됩니다.
@myarray = (1,4,5);
각 배열 요소는 스칼라 요소이므로 '@'이 아닌 '$'를 사용하여 각 요소에 액세스합니다.
$index = $myarray (2); # this will access 3 element. Print $index;
산출: 5
Perl에서는 정의하는 동안 배열의 길이를 지정할 필요가 없습니다. 어레이는 동적으로 확장 또는 축소됩니다.
예를 들어 , 위의 배열에서
$myarray (4) = 7; @myarray will grow in size and contain 4 elements (1,4,5,7).
배열은 다른 프로그래밍 언어와 달리 값의 혼합을 포함 할 수 있습니다. 예를 들어 , 다음 배열
@listarray = (1,2,”string1”,4.5);
이것은 Perl에서 유효한 배열입니다.
Q # 16) 어레이 슬라이싱 및 범위 연산자에 대한 설명
대답: 배열 슬라이싱을 사용하면 사용자가 한 번에 둘 이상의 배열 요소를 검색 할 수 있습니다.
예를 들어,
@myarray = (1,2,3,4,5); @subarray = @myarray (0,1); Print (“@subarray
”);
산출: 1 2
따라서 기존 배열을 '슬라이스'하고 해당 요소를 검색 할 수 있습니다.
Perl의 '목록 범위 연산자'를 사용하여 배열을 큰 조각으로 분할 할 수도 있습니다. 목록 범위 연산자를 사용하면 해당 범위의 모든 요소를 반환 할 범위를 지정할 수 있습니다.
예,
@daysOfMonth = (1..31); #daysOfMonth will contain 1 to 31 elements. @fortnight = @daysOfMonth(1..15);
이것은 2 주간 배열에 처음 15 개 요소로 구성된 슬라이스를 할당합니다.
Perl 패키지 및 모듈
Perl에서는 기능을 확장하기 위해 외부 모듈과 패키지를 직접 사용할 수 있습니다. 다양한 데이터베이스 패키지, 프로토콜 구현, 네트워크 패키지 / 모듈을 사용하거나 가져올 수 있으며 Perl 프로그램에서 사용할 수 있습니다. 이러한 모듈 또는 패키지 파일은 일반적으로 '.pm'확장자를 갖습니다.
Q # 17) 모듈을 포함 / 반입 할 수있는 Perl의 다양한 기능 / 지시문을 설명하십시오. 또한 그들 사이의 차이점을 설명하십시오.
답변 : 모듈이나 패키지를 포함하기 위해 Perl에서 사용하는 두 가지 지시문이 있습니다.
- '사용하다': Use 지시문은 확장명이 .pm 인 모듈을 포함하는 데 사용되며 포함 된 개체는 컴파일 타임에 확인됩니다. 파일 확장자를 지정할 필요가 없습니다. '사용'을 지정하면 포함 된 모듈이 컴파일 타임에로드됩니다.
- '필수': 'require'방법은 라이브러리와 모듈을 모두 포함하는 데 사용됩니다. 포함 된 개체는 런타임에 확인됩니다. 객체의 파일 확장자를 지정해야하며 객체는 런타임에로드됩니다.
예를 들어 , 'Oracle.dbm'이라는 모듈이 있으며 다음과 같이 두 지시문을 모두 사용할 수 있습니다.
Oracle을 사용하십시오.
또는
'Oracle.dbm'이 필요합니다.
Perl에서 파일 처리
Q # 18) Perl의 다양한 파일 작업은 무엇입니까? 예를 들어 설명하십시오.
대답: 표준 입력에서 읽고 표준 출력에 쓰는 것 외에도 파일을 사용하여 데이터를 읽고 쓸 수도 있습니다.
Perl에서 파일의 기본 작업은 다음과 같습니다.
a) 파일 열기 :
'open'은 파일을 여는 라이브러리 기능입니다.
open (filevar, filename);
여기서 filevar =>는 Perl이 파일을 참조하는 데 사용하는 파일 포인터와 같습니다.
filename => 열려는 파일의 위치.
연기와 위생 테스트의 차이
기본적으로 열기 기능은 '읽기'모드로 파일을 엽니 다.
파일을 쓰기 모드로 열려면 파일 이름 앞에‘>’문자를 붙여야합니다.
open (filevar,> filename);
마찬가지로 파일을‘추가’모드로 열려면 파일 이름 앞에‘>>’문자를 붙여야합니다.
open (filevar, >> filename);
'open'함수는 파일이 성공적으로 열리면 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환합니다.
b) 파일에서 읽기 :
파일이 열리면 다음 코드를 사용하여 파일에서 데이터를 한 줄씩 읽을 수 있습니다.
$ line =;
위의 코드 줄은 var 파일이 가리키는 줄을 읽고 해당 줄을 $ line에 저장합니다.
다음과 같이 파일의 내용을 배열 변수로 읽을 수도 있습니다.
@filearray = ;
c) 파일에 쓰기 / 추가 :
다음 코드 줄을 사용하여 파일에 데이터를 쓸 수 있습니다.
Print filevar (“이것은 파일에 기록됩니다 n”);
d) 파일 닫기 :
파일 읽기 / 쓰기가 끝나면 다음 코드를 사용하여 파일을 닫을 수 있습니다.
닫기 (filevar);
Q # 19) DIE와 EXIT의 차이점.
대답: DIE와 EXIT는 프로그램을 종료하기위한 Perl의 두 가지 라이브러리 함수입니다. DIE와 EXIT의 차이점은 DIE가 프로그램을 종료하고 지정된 메시지를 인쇄한다는 것입니다. 종료는 단순히 프로그램을 종료합니다.
예
open (myfile, filename) || DIE (“파일을 열 수 없습니다. n”);
위의 코드 줄은 열기에 실패한 경우 '파일을 열 수 없습니다'라는 메시지를 출력하고 프로그램을 종료합니다.
Perl의 서브 루틴
Q # 20) Perl의 서브 루틴은 무엇입니까?
대답: 서브 루틴은 프로그램이 내부적으로 또는 외부 적으로 재사용 할 수있는 코드 블록입니다.
서브 루틴의 일반적인 표현은 다음과 같습니다.
하위 이름 프로토 타입 속성 블록
여기서 sub는 키워드 다음에 서브 루틴 이름 NAME이옵니다.
PROTOTYPE은 서브 루틴의 매개 변수를 나타냅니다.
ATTRIBUTES는 서브 루틴에 대한 추가 의미를 제공합니다. 속성 값은 '잠금', '방법'또는 'lvalue'일 수 있습니다.
BLOCK은 서브 루틴에 대한 코드 블록입니다.
서브 루틴이 정의되면 다음 명령문을 사용하여 호출 할 수 있습니다.
사용자 수락 테스트 서명 템플릿
& subroutine_name;
앰퍼샌드 (&)는 서브 루틴 이름을 참조하는 참조를 사용하지 않는 한 선택 사항입니다.
Perl의 서브 루틴은 다음과 같이 호출 할 수도 있습니다.
subroutine_name ();
Q # 21) 간단한 예제를 통해 Perl의 서브 루틴을 시연합니다.
대답: 'Hello, World!'를 인쇄하는 서브 루틴의 예를 들어 보겠습니다. 끈.
Sub print_str{ Print “Hello,World!”; }
다음 명령문을 사용하여이 서브 루틴을 호출 할 수 있습니다.
print_str();
산출: 안녕하세요, 세계!
Q # 22) Perl의 서브 루틴에 매개 변수가 어떻게 전달됩니까?
대답: Perl에서 서브 루틴의 모든 입력 또는 실제 매개 변수는 배열 '@_'에 저장됩니다. 즉, 배열 @_는 서브 루틴 인수의 별칭으로 사용됩니다.
예를 들어이를 시연 해 보겠습니다.
print &sum(1..4),”
”; sub sum{ my $sum = 0; for my $i(@_){ $sum += $i; } return $sum; }
이 예에서는 요소 1 ~ 4의 합계를 계산합니다.이 요소를 범위로 서브 루틴에 전달합니다. 서브 루틴 코드에서 매개 변수를 포함하는 @_를 반복하여 합계를 찾은 다음 합계를 반환합니다.
Q # 23) Perl에서 서브 루틴으로 값을 반환하는 특징은 무엇입니까?
대답: Perl에서 서브 루틴은 값을 다음과 같이 반환하는 명시적인 return 문을 가질 수 있습니다.
@result 반환;
return 문이 누락 된 경우 서브 루틴은 본문의 마지막 표현식 값을 암시 적으로 반환합니다.
다음 예를 살펴보십시오.
print &sum(1..4),”
”; sub sum{ my $sum = 0; for my $i(@_){ $sum += $i; } $sum; }
위의 예에서 서브 루틴 합계는 본문의 마지막 표현식 인 변수 합계 ($ sum)의 값을 반환합니다.
서브 루틴 본문에 여러 개의 return 문이있을 수도 있습니다. return 문이 나타나면 나머지 서브 루틴 코드를 건너 뛰고 값을 반환합니다.
환경 변수
Q # 24) Perl에서 환경 변수를 어떻게 설정합니까?
대답: Perl에는 모든 환경 변수의 값을 포함하는 특수 해시 변수‘% ENV’가 있습니다.
따라서 환경 변수 PATH의 값을 원하면 다음과 같이 말할 수 있습니다.
$path = $ENV{ ‘PATH’ };
마찬가지로 PATH 변수를 새 값으로 설정해야하는 경우 다음과 같이 할 수 있습니다.
$ENV{ ‘PATH’ } = ‘/bin:/usr/bin’;
Grep 기능
Q # 25) Perl의“grep”기능은 무엇입니까?
대답: Perl의 grep 함수는 주로 다른 스크립팅 언어에서와 같이 패턴 일치에 사용됩니다.
'grep'기능은 목록에서 작동합니다. List의 각 요소에 대한 표현식 또는 블록을 평가합니다. 식을 평가 한 결과 true를 반환하는 각 문에 대해 해당 요소를 반환 값 목록에 추가합니다.
다음 코드 스 니펫을보십시오.
#!/usr/bin/perl @list = (“foo”,10,0,”bar”,20); @has_string = grep( /s/,@list ); Print “@has_string
”;
산출: 푸 바
위 코드는 목록에서 'grep'명령을 실행하고 패턴 문자열 (/ s)을 목록과 일치시킵니다. 출력은 문자열 인 요소 만입니다.
결론
이것으로 우리는 핵심 Perl 인터뷰 질문에 대한이 기사를 마칩니다.
우리는 이것이 신입생과 경험 많은 후보자 모두가 Perl 프로그래밍에 대한 통찰력을 얻고 인터뷰를 성공적으로 마무리하는 데 도움이되기를 바랍니다.
최선을 다하겠습니다 !!