top 25 perl interview questions you should prepare 2021
コード例を含む最も人気のあるPerlインタビューの質問:
Perlは、さまざまなリアルタイムアプリケーションを構築するための、文字列操作、配列操作などの機能を備えた、コンピュータープログラミングの分野で最も強力なスクリプト言語の1つです。
この記事には、Perlプログラミングの面接に登場する候補者に尋ねることができる潜在的な質問のリストが含まれています。
これらの質問と回答が面接の準備に十分であるとは主張していませんが、すべてのレベルの候補者がPerlスクリプト言語を理解するのに大いに役立つと確信しています。
学習内容:
Perlインタビューのトップ質問
以下に、専門家が回答した最もよくあるPerlスクリプティングインタビューの質問を示します。
探検しよう!
Perl入門
Q#1) Perl言語とは何ですか?
回答: Perlは「PracticalExtractionandReportingLanguage」の略です。これは強力なスクリプト言語であり、機能が豊富です。 Perlを使用すると、ミッションクリティカルなプロジェクトで使用できる強力で効率的なコードを記述できます。
Q#2)Perlのさまざまな長所と短所は何ですか?
回答: Perlの利点は次のとおりです。
- Perlは効率的で、使いやすいです。
- これはインタープリター言語です。つまり、Perlプログラムはステートメントごとに解釈されます。
- Perlは移植性があり、クロスプラットフォームです。現在、100を超えるプラットフォームで実行できます。
- Perlは拡張可能です。追加機能のために、Perlプログラムにさまざまなオープンソースパッケージとモジュールを含めることができます。 例えば 、Perlプログラムでデータベースサポート用のCPANモジュールをインポートできます。
メイン Perlの欠点 インタープリタ型言語であるため、実行速度がかなり遅いということです。高水準のコードを書くことはできますが、Perlを使って複雑なコードを書くことはできません。 Perlには、プログラマーが理解できないほど網羅的な機能が多すぎます。
Q#3)Perlのさまざまな用途は何ですか?
回答: Perlは、防衛産業などのミッションクリティカルなプロジェクトで使用されます。 「ラピッドプロトタイピング」でも使用されます。
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インタープリターへのパスです。
経験豊富なoracleplsqlインタビューの質問と回答
このファイルに「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の数値演算子は次のとおりです。
- 算術演算子(+、-、* /)。
- 2つの数値を比較するための比較演算子(>、<, ==, !=,=,).
- ビット演算子(&(and)、|(or)、^(ex-or)、〜(not)、<>(右シフト))。
算術演算子は左から右に実行し、ビット単位演算子は右から左に操作を実行します。
Q#11)Perlの文字列比較演算子について説明してください。
回答: Perlは、以下に示すようにさまざまな文字列演算子をサポートしています。
平等 | 演算子 |
---|---|
大なり記号 | 与える |
等しい | eq |
等しくない | 生まれ |
比較 | cmp |
未満 | lt |
大なり記号 | gt |
以下 | インクルード |
これらの演算子を使用して、2つの文字列を比較できます。
Q#12)Perlのさまざまな文字列操作演算子は何ですか?
回答: Perlには、文字列を操作するための2つの異なる演算子が用意されています。
- 連結演算子(。): 2つの文字列を組み合わせて、結果文字列を形成します。
- 繰り返し演算子(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で配列とリストを区別します。
Javaでキューを初期化する方法
回答: リストと配列の両方を要素のセットとして定義できます。 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の「リスト範囲演算子」を使用して、配列を大きなスライスにスライスすることもできます。 List-range演算子を使用すると、その範囲内のすべての要素を返す範囲を指定できます。
例、
@daysOfMonth = (1..31); #daysOfMonth will contain 1 to 31 elements. @fortnight = @daysOfMonth[1..15];
これにより、最初の15個の要素で構成されるスライスが2週間の配列に割り当てられます。
Perlパッケージとモジュール
Perlでは、外部モジュールとパッケージを直接使用して機能を拡張できます。 Perlプログラムでは、さまざまなデータベースパッケージ、プロトコル実装、ネットワークパッケージ/モジュールを使用またはインポートして使用できます。これらのモジュールまたはパッケージファイルには通常、「。pm」拡張子が付いています。
Q#17)モジュールをインクルード/インポートできるPerlのさまざまな関数/ディレクティブについて説明してください。また、それらの違いを述べてください。
回答:モジュールまたはパッケージを含めるためにPerlで使用する2つのディレクティブがあります。
- '使用する': Useディレクティブは、拡張子が.pmのモジュールを含めるために使用され、含まれているオブジェクトはコンパイル時に検証されます。ファイル拡張子を指定する必要はありません。 「使用」を指定すると、含まれるモジュールがコンパイル時にロードされます。
- '必要とする': 「require」メソッドは、ライブラリとモジュールの両方を含めるために使用されます。含まれているオブジェクトは実行時に検証されます。オブジェクトのファイル拡張子を指定する必要があり、オブジェクトは実行時にロードされます。
例えば 、「Oracle.dbm」という名前のモジュールがあり、次のように両方のディレクティブを使用できます。
Oracleを使用します。
または
「Oracle.dbm」が必要です。
Perlでのファイル処理
Q#18)Perlでのさまざまなファイル操作は何ですか。例を挙げて説明します。
回答: 標準入力からの読み取りと標準出力への書き込みの他に、ファイルを使用してデータの読み取りと書き込みを行うこともできます。
Perlでのファイルの基本的な操作は次のとおりです。
a)ファイルを開く:
「open」は、ファイルを開くためのライブラリ関数です。
open(filevar、filename);
ここで、filevar =>は、Perlがファイルを参照するために使用するファイルポインタのようなものです。
filename =>開くファイルの場所。
デフォルトでは、open関数は「読み取り」モードでファイルを開きます。
ファイルを書き込みモードで開く場合は、ファイル名の前に「>」文字を付ける必要があります。
open(filevar、> filename);
同様に、ファイルを「追加」モードで開く場合は、ファイル名の前に「>>」文字を付ける必要があります。
open(filevar、>> filename);
「open」関数は、ファイルが正常に開かれた場合はゼロ以外の値を返し、それ以外の場合はゼロを返します。
b)ファイルからの読み取り:
ファイルを開くと、次のコードを使用してファイルからデータを1行ずつ読み取ることができます。
$ line =;
上記のコード行は、ファイルvarが指す行を読み取り、その行を$ lineに格納します。
以下に示すように、ファイルの内容を配列変数に読み込むこともできます。
@filearray = ;
c)ファイルへの書き込み/追加:
次のコード行を使用して、ファイルにデータを書き込むことができます。
print filevar( 'これはファイルに書き込まれます n');
d)ファイルを閉じます:
ファイルの読み取り/書き込みが終了したら、次のコードを使用してファイルを閉じることができます。
close(filevar);
Q#19)DIEとEXITの違い。
回答: DIEとEXITは、プログラムを終了するためのPerlの2つのライブラリ関数です。 DIEとEXITの違いは、DIEがプログラムを終了し、指定されたメッセージを出力することです。 Exitは、単にプログラムを終了します。
例
open(myfile、filename)|| DIE( 'ファイルを開くことができません n');
上記のコード行は、開くことが失敗してプログラムを終了した場合に、「ファイルを開くことができません」というメッセージを出力します。
Perlのサブルーチン
Q#20)Perlのサブルーチンとは何ですか?
回答: サブルーチンは、プログラムが内部または外部で再利用できるコードのブロックです。
サブルーチンの一般的な表現は次のとおりです。
サブ名プロトタイプ属性ブロック
ここで、subはキーワードの後にサブルーチン名NAMEが続きます。
PROTOTYPEは、サブルーチンのパラメーターを表します。
ATTRIBUTESは、サブルーチンに関する追加のセマンティクスを提供します。属性の値は、「ロック」、「メソッド」、または「左辺値」のいずれかになります。
BLOCKは、サブルーチンのコードのブロックです。
サブルーチンが定義されると、ステートメントを使用してそれを呼び出すことができます。
Windows8でbinファイルを開く方法
&subroutine_name;
サブルーチン名を参照する参照を使用していない限り、アンパサンド(&)はオプションです。
Perlのサブルーチンは、次のように呼び出すこともできます。
サブルーチン名();
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は、本体の最後の式である変数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」関数はリストで機能します。リストの各要素の式またはブロックを評価します。式の評価の結果としてtrueを返すステートメントごとに、その要素を戻り値のリストに追加します。
次のコードスニペットを見てください。
#!/usr/bin/perl @list = (“foo”,10,0,”bar”,20); @has_string = grep( /s/,@list ); Print “@has_string
”;
出力: fooバー
上記のコードは、リストに対して「grep」コマンドを実行し、パターン文字列(/ s)をリストに一致させます。出力は、文字列である要素のみです。
結論
これで、Perlインタビューのコア質問に関するこの記事を締めくくります。
これにより、初心者と経験豊富な候補者の両方がPerlプログラミングについての洞察を得て、面接を成功させるのに役立つことを願っています。
幸運を祈ります!!