คำถามและคำตอบสัมภาษณ์ Perl 69 อันดับแรก (2025)

ต่อไปนี้เป็นคำถามและคำตอบในการสัมภาษณ์ Perl Scripting สำหรับผู้สมัครหน้าใหม่และผู้มีประสบการณ์เพื่อให้ได้งานในฝัน

คำถามสัมภาษณ์ Perl สำหรับน้องใหม่

1) ความแตกต่างระหว่างตัวแปรที่ฟังก์ชัน chomp ทำงานคืออะไร?

  • เกลา: แสดงด้วยสัญลักษณ์ $ ตัวแปรอาจเป็นตัวเลขหรือสตริงก็ได้
  • อาร์เรย์: แสดงด้วยสัญลักษณ์ @ นำหน้า อาร์เรย์มีดัชนีด้วยตัวเลข

เนมสเปซสำหรับตัวแปรประเภทนี้จะแตกต่างกัน ตัวอย่างเช่น: @add, $add. ตัวแปรสเกลาร์อยู่ในตารางชื่อหรือเนมสเปซตารางเดียว และสามารถเก็บข้อมูลเฉพาะทีละรายการได้ และตัวแปรอาร์เรย์อยู่ในตารางชื่อหรือเนมสเปซอื่น ตัวแปรสเกลาร์อาจเป็นตัวเลขหรือสตริงก็ได้

👉 ดาวน์โหลดไฟล์ PDF ฟรี: คำถามและคำตอบสัมภาษณ์ Perl


2) สร้างฟังก์ชั่นที่ใช้งานได้ภายในขอบเขตที่กำหนดไว้เท่านั้น?

$pvt = Calculation(5,5);

print("Result = $pvt\n");

sub Calculation{

my ($fstVar, $secndVar) = @_;

my $square = sub{

return($_[0] ** 2);

};

return(&$square($fstVar) + &$square($secndVar));

};

Output: ผลลัพธ์ = 50


3) คุณลักษณะใดของ Perl ที่ทำให้โค้ดสามารถนำกลับมาใช้ใหม่ได้ ให้ตัวอย่างของคุณลักษณะนั้น

คุณลักษณะการสืบทอดของ Perl ช่วยให้สามารถนำโค้ดกลับมาใช้ใหม่ได้ ในการสืบทอด คลาสลูกสามารถใช้เมธอดและคุณสมบัติของคลาสพาเรนต์ได้

Package Parent;

Sub foo

{

print("Inside A::foo\n");

}

package Child;

@ISA = (Parent);

package main;

Child->foo();

Child->bar();

4) ในภาษา Perl เราสามารถแสดงคำเตือนโดยใช้ตัวเลือกบางอย่างเพื่อลดหรือหลีกเลี่ยงข้อผิดพลาด ตัวเลือกนั้นคืออะไร?

  • ตัวเลือกบรรทัดคำสั่ง -w: มันจะแสดงรายการหากมีข้อความเตือนเกี่ยวกับรหัส
  • ปฏิบัติที่เข้มงวด: บังคับให้ผู้ใช้ประกาศตัวแปรทั้งหมดก่อนจึงจะสามารถใช้ฟังก์ชัน my() ได้
  • การใช้ดีบักเกอร์ในตัว: ช่วยให้ผู้ใช้สามารถเลื่อนดูโปรแกรมทั้งหมดทีละบรรทัด
คำถามสัมภาษณ์การเขียนสคริปต์ Perl
คำถามสัมภาษณ์การเขียนสคริปต์ Perl

5) เขียนโปรแกรมเพื่อประมวลผลรายการตัวเลข

โปรแกรมต่อไปนี้จะขอให้ผู้ใช้ป้อนตัวเลขเมื่อดำเนินการ และค่าเฉลี่ยของตัวเลขจะแสดงเป็นเอาต์พุต:

$sum = 0;

$count = 0;

print "Enter number: ";

$num = <>;

chomp($num);

while ($num >= 0)

{

$count++;

$sum += $num;

print "Enter another number: ";

$num = <>;

chomp($num);

}

print "$count numbers were entered\n";

if ($count > 0)

{

print "The average is ",$sum/$count,"\n";

}

exit(0);

6) Perl มีวัตถุหรือไม่? ถ้าใช่ มันจะบังคับให้คุณใช้วัตถุหรือไม่? ถ้าไม่แล้วทำไม?

ใช่ Perl มีวัตถุและไม่ได้บังคับให้คุณใช้วัตถุ โมดูลเชิงวัตถุจำนวนมากสามารถใช้ได้โดยไม่ต้องทำความเข้าใจวัตถุ แต่ถ้าโปรแกรมมีขนาดใหญ่เกินไป โปรแกรมเมอร์ก็จะมีประสิทธิภาพในการทำให้เป็นเชิงวัตถุ


7) เราสามารถโหลดส่วนขยายไบนารีแบบไดนามิกได้หรือไม่?

ใช่ เราสามารถโหลดส่วนขยายไบนารีแบบไดนามิกได้ แต่ระบบของคุณรองรับสิ่งนั้น หากไม่รองรับ คุณสามารถคอมไพล์ส่วนขยายแบบคงที่ได้


8) เขียนโปรแกรมเพื่อเชื่อม $firststring และ $secondstring และผลลัพธ์ของสตริงเหล่านี้ควรถูกคั่นด้วยช่องว่างเดียว

ไวยากรณ์:

$result = $firststring . " ".$secondstring;

โปรแกรม:

#!/usr/bin/perl

$firststring = "abcd";

$secondstring = "efgh";

$combine = "$firststring $secondstring";

print "$Combine\n";

Output:

abcd efgh

9) ฉันจะแทนที่อักขระ TAB ทุกตัวในไฟล์ด้วยเครื่องหมายจุลภาคได้อย่างไร

perl -pi.bak -e 's/\t/,/g' myfile.txt

10) ในภาษา Perl มีอาร์กิวเมนต์บางตัวที่ใช้บ่อย ข้อโต้แย้งนั้นคืออะไรและหมายถึงอะไร?

-w (อาร์กิวเมนต์แสดงคำเตือน)

-d (ใช้สำหรับการดีบัก)

-c (ซึ่งคอมไพล์เท่านั้นที่ไม่ทำงาน)

-e (ซึ่งดำเนินการ)

เรายังสามารถใช้การรวมกันของสิ่งเหล่านี้เช่น:

-wd


11) โครงสร้างข้อมูลหลักในภาษา Perl มีกี่ประเภท และหมายถึงอะไร?

สเกลาร์: สามารถเก็บข้อมูลเฉพาะได้ครั้งละหนึ่งรายการ (สตริง จำนวนเต็ม หรือการอ้างอิง) เริ่มต้นด้วยเครื่องหมายดอลลาร์ $ ตามด้วยตัวระบุ Perl และตัวระบุ Perl สามารถประกอบด้วยตัวอักษรและตัวเลขและขีดล่าง ไม่อนุญาตให้ขึ้นต้นด้วยตัวเลข อาร์เรย์เป็นเพียงรายการของตัวแปรสเกลาร์

อาร์เรย์: อาร์เรย์เริ่มต้นด้วยเครื่องหมาย @ ตัวอย่างของอาร์เรย์:

my @arrayvar = ("string a", "string b "string c");

อาร์เรย์ที่เชื่อมโยง: หรือที่มักเรียกว่าแฮช เป็นประเภทข้อมูลหลักอันดับที่ 3 ในภาษา Perl รองจากสเกลาร์และอาร์เรย์ แฮชได้รับการตั้งชื่อเช่นนี้เนื่องจากทำงานคล้ายกับโครงสร้างข้อมูลทั่วไปที่โปรแกรมเมอร์ใช้ในภาษาอื่น นั่นคือตารางแฮช อย่างไรก็ตาม จริงๆ แล้วแฮชในภาษา Perl นั้นเป็นประเภทข้อมูลที่รองรับภาษาโดยตรง


12) ฟังก์ชั่นใดใน Perl ที่อนุญาตให้คุณรวมไฟล์โมดูลหรือโมดูล และอะไรคือความแตกต่างระหว่างฟังก์ชันเหล่านี้?

"ใช้"

  • วิธีการนี้ใช้สำหรับโมดูลเท่านั้น (เพื่อรวมไฟล์ประเภท .pm เท่านั้น)
  • ออบเจ็กต์ที่รวมไว้ได้รับการตรวจสอบ ณ เวลาที่รวบรวม
  • เราไม่จำเป็นต้องระบุนามสกุลไฟล์
  • โหลดโมดูลในเวลารวบรวม

"จำเป็นต้อง"

  • วิธีการนี้ใช้สำหรับทั้งไลบรารีและโมดูล
  • ออบเจ็กต์ที่รวมไว้ได้รับการตรวจสอบในขณะดำเนินการ
  • เราจำเป็นต้องระบุนามสกุลไฟล์
  • โหลดที่รันไทม์

สมมติว่าเรามีไฟล์โมดูลเป็น “Module.pm”

ใช้โมดูล;

or

ต้องการ "Module.pm";

(จะทำเช่นเดียวกัน)


13) คุณจะกำหนดขอบเขตตัวแปร “ของฉัน” ใน Perl ได้อย่างไร และแตกต่างจากขอบเขตตัวแปร “ท้องถิ่น” อย่างไร

$test = 2.3456;

{

my $test = 3;

print "In block, $test = $test ";

print "In block, $:: test = $:: test ";

}

print "Outside the block, $test = $test ";

print "Outside the block, $:: test = $::test ";

Output:

In block, $test = 3

In block, $::test = 2.3456

Outside the block, $test = 2.3456

Outside the block, $::test = 2.3456

ขอบเขตของการมองเห็นตัวแปร "ของฉัน" อยู่ในบล็อกเท่านั้น แต่ถ้าเราประกาศตัวแปรหนึ่งตัวในเครื่อง เราก็จะสามารถเข้าถึงสิ่งนั้นจากด้านนอกของบล็อกได้เช่นกัน 'my' สร้างตัวแปรใหม่ 'local' แก้ไขค่าของตัวแปรชั่วคราว


14) แนวทางใดของโมดูล Perl ที่ต้องปฏิบัติตาม?

ด้านล่างนี้เป็นหลักเกณฑ์และไม่ได้บังคับ

ชื่อของบรรจุภัณฑ์ควรขึ้นต้นด้วยตัวพิมพ์ใหญ่เสมอ

ชื่อไฟล์ทั้งหมดควรมีนามสกุล “.pm”

ในกรณีที่ไม่มีการใช้เทคนิคเชิงวัตถุ แพคเกจควรได้รับมาจากคลาสผู้ส่งออก

นอกจากนี้หากไม่มีการใช้เทคนิคเชิงวัตถุโมดูลควรส่งออกฟังก์ชันและตัวแปรไปยังเนมสเปซหลักโดยใช้ @EXPORT และ @EXPOR_OK อาร์เรย์ (คำสั่ง use ใช้เพื่อโหลดโมดูล)


คำถามและคำตอบสัมภาษณ์ Perl สำหรับผู้มีประสบการณ์

ด้านล่างนี้คือคำถามและคำตอบในการสัมภาษณ์ Perl Scripting สำหรับผู้สมัครที่มีประสบการณ์:

15) ล่ามถูกใช้อย่างไรใน Perl?

ทุกโปรแกรม Perl จะต้องผ่านล่าม Perl เพื่อดำเนินการ บรรทัดแรกในโปรแกรม Perl หลายโปรแกรมมีลักษณะดังนี้:

#!/usr/bin/perl

ล่ามรวบรวมโปรแกรมภายในเป็นแผนผังการแยกวิเคราะห์ คำ ช่องว่าง หรือเครื่องหมายใดๆ หลังสัญลักษณ์ปอนด์จะถูกละเว้นโดยล่ามโปรแกรม หลังจากแปลงเป็นแผนผังการแยกวิเคราะห์แล้ว ล่ามจะดำเนินการทันที Perl เป็นที่รู้จักกันทั่วไปว่าเป็นภาษาที่ตีความ ซึ่งไม่เป็นความจริงอย่างเคร่งครัด เนื่องจากล่ามจะแปลงโปรแกรมเป็นโค้ดไบต์ก่อนที่จะดำเนินการ บางครั้งจึงเรียกว่าล่าม/คอมไพเลอร์ แม้ว่าแบบฟอร์มที่คอมไพล์แล้วจะไม่ถูกจัดเก็บเป็นไฟล์ก็ตาม


16) “วิธีการที่กำหนดไว้ในคลาสพาเรนต์จะแทนที่วิธีการที่กำหนดไว้ในคลาสฐานเสมอ” ข้อความนี้หมายถึงอะไร?

ข้อความข้างต้นเป็นแนวคิดของความหลากหลายในภาษา Perl เพื่อชี้แจงข้อความนี้ ให้เรายกตัวอย่าง:

[perl]
package X;

sub foo

{

print("Inside X::foo\n");

}

package Z;

@ISA = (X);

sub foo

{

print("Inside Z::foo\n");

}

package main;

Z->foo();
[/perl]

โปรแกรมนี้จะแสดง:

ข้างใน Z::foo

ในตัวอย่างข้างต้น เมธอด foo() ที่กำหนดในคลาส Z คลาสจะแทนที่การสืบทอดจากคลาส X ความหลากหลายส่วนใหญ่จะใช้เพื่อเพิ่มหรือขยายฟังก์ชันการทำงานของคลาสที่มีอยู่โดยไม่ต้องตั้งโปรแกรมใหม่ทั้งคลาส


17) สำหรับสถานการณ์ในการเขียนโปรแกรม คุณจะทราบได้อย่างไรว่า Perl มีความเหมาะสม?

หากคุณต้องการการดำเนินการที่เร็วขึ้น Perl จะให้ข้อกำหนดนั้นแก่คุณ การเขียนโปรแกรมมีความยืดหยุ่นอย่างมากหากคุณต้องการพัฒนาแอปพลิเคชันบนเว็บ เราไม่จำเป็นต้องซื้อใบอนุญาตสำหรับ Perl เนื่องจากเป็นบริการฟรี เราสามารถใช้ CPAN (Comprehensive Perl Archive Network) ซึ่งเป็นหนึ่งในแหล่งเก็บโค้ดฟรีที่ใหญ่ที่สุดในโลก


18) เขียนไวยากรณ์เพื่อเพิ่มสองอาร์เรย์เข้าด้วยกันใน Perl?

@arrayvar = (@array1,@array2);

เพื่อให้บรรลุผลเช่นเดียวกัน เรายังสามารถใช้ฟังก์ชันพุชได้อีกด้วย


19) Perl มีตัวดำเนินการกี่ประเภท?

ตัวดำเนินการเลขคณิต

+, - ,*

ผู้ดำเนินการมอบหมาย:

+= , -+, *=

ตัวดำเนินการเพิ่ม/ลด:

++, --

การต่อสายอักขระ:

'.' ผู้ประกอบการ

ตัวดำเนินการเปรียบเทียบ:

==, !=, >, < , >=

ตัวดำเนินการเชิงตรรกะ:

&&, ||, !


20) หากคุณต้องการล้างอาร์เรย์ คุณจะทำอย่างไร?

เราสามารถล้างอาร์เรย์ได้โดยการตั้งค่าความยาวของมันเป็นตัวเลขใดๆ โดยทั่วไปคือ -1 และโดยการกำหนดรายการว่าง

use strict;

use warnings;

my @checkarray;

if (@checkarray)

{

print "Array is not empty";

}

else

{

print "Array is empty";

}

21) ตำแหน่งที่เก็บอาร์กิวเมนต์บรรทัดคำสั่ง และถ้าคุณต้องการอ่านอาร์กิวเมนต์บรรทัดคำสั่งด้วย Perl คุณจะทำอย่างไร

อาร์กิวเมนต์บรรทัดคำสั่งใน Perl จะถูกเก็บไว้ในอาร์เรย์ @ARGV

$ARGV[0] (อาร์กิวเมนต์แรก)

$ARGV[1] (อาร์กิวเมนต์ที่สอง) และอื่นๆ

$#ARGV เป็นตัวห้อยขององค์ประกอบสุดท้ายของอาร์เรย์ @ARGV ดังนั้นจำนวนอาร์กิวเมนต์บนบรรทัดคำสั่งคือ $#ARGV + 1


22) สมมติว่าอาร์เรย์มี @arraycontent=('ab', 'cd', 'ef', 'gh') จะพิมพ์เนื้อหาทั้งหมดของอาร์เรย์ที่กำหนดได้อย่างไร?

@arraycontent=('ab', 'cd', 'ef', 'gh')

foreach (@arraycontent)

{

print "$_\n";

}

23) การใช้ -w, -t และเข้มงวดในภาษา Perl คืออะไร?

เมื่อเราใช้ –w มันจะแจ้งเตือนเกี่ยวกับข้อผิดพลาดในการตีความที่เป็นไปได้ในสคริปต์

Strict บอกให้ Perl บังคับตรวจสอบคำจำกัดความและการใช้งานตัวแปร สามารถเรียกใช้ได้โดยใช้คำสั่ง use strict หากมีคำสั่งที่ไม่ปลอดภัยหรือคลุมเครือในสคริปต์ Pragma นี้จะหยุดการทำงานของสคริปต์แทนที่จะให้คำเตือนเพียงอย่างเดียว

เมื่อใช้ –t จะเป็นการเปิดการตรวจสอบเทนต์ มันบังคับให้ Perl ตรวจสอบที่มาของตัวแปรที่ไม่สามารถใช้ตัวแปรภายนอกในการประมวลผลเชลล์ย่อยและการเรียกระบบ


24) เขียนโปรแกรมเพื่อดาวน์โหลดเนื้อหาจากเว็บไซต์ www.perlinterview.com/answers.php ในภาษา Perl

#!/usr/bin/perl

use strict;

use warnings;

use LWP::Simple;

my $siteurl = 'www.perlinterview.com/answers.php';

my $savefile = 'content.kml';

getstore($siteurl, $savefile);

25) รายการหรือข้อกำหนดใดมีความสำคัญสูงสุด? อธิบาย?

เงื่อนไขมีลำดับความสำคัญสูงสุดใน Perl เงื่อนไขได้แก่ ตัวแปร เครื่องหมายคำพูด นิพจน์ในวงเล็บ เป็นต้น ตัวดำเนินการรายการมีลำดับความสำคัญเท่ากับเงื่อนไข โดยเฉพาะอย่างยิ่ง ตัวดำเนินการเหล่านี้มีลำดับความสำคัญของคำด้านซ้ายสูงมาก


26) แสดงรายการประเภทข้อมูลที่ Perl สามารถจัดการได้?

สเกลาร์ ($): เก็บค่าเดียว

Arrays (@): เก็บรายการค่าสเกลาร์

แฮช (%): เก็บอาร์เรย์ที่เชื่อมโยงซึ่งใช้ค่าคีย์เป็นดัชนีแทนดัชนีตัวเลข


27) เขียนไวยากรณ์เพื่อใช้ฟังก์ชัน grep?

grep BLOCK LIST

grep (EXPR, LIST)

28) ตัวเลือก -n และ -p มีประโยชน์อย่างไร?

ตัวเลือก -n และ -p ใช้เพื่อรวมสคริปต์ไว้ข้างใน ลูป- ตัวเลือก -n ทำให้ Perl รันสคริปต์ภายในลูป ตัวเลือก -p ยังใช้การวนซ้ำเดียวกันกับ -n วนซ้ำ แต่นอกเหนือจากนั้น จะใช้การดำเนินการต่อ หากใช้ทั้งอ็อพชัน -n และ -p ร่วมกัน อ็อพชัน -p จะได้รับการกำหนดค่าตามความชอบ


29) การใช้ตัวเลือก -i และ 0s คืออะไร?

ตัวเลือก -i ใช้เพื่อแก้ไขไฟล์แบบแทนที่ นี่หมายความว่า Perl จะเปลี่ยนชื่อไฟล์อินพุตโดยอัตโนมัติและไฟล์เอาต์พุตจะถูกเปิดโดยใช้ชื่อเดิม หากใช้ตัวเลือก -i เพียงอย่างเดียว จะไม่มีการสร้างการสำรองข้อมูลไฟล์ -i.bak ทำให้ตัวเลือกในการสร้างการสำรองข้อมูลของไฟล์แทน


30)เขียนโปรแกรมอธิบายตารางสัญลักษณ์ให้ชัดเจน

ในภาษา Perl ตารางสัญลักษณ์คือแฮชที่ประกอบด้วยรายการชื่อทั้งหมดที่กำหนดไว้ในเนมสเปซ และประกอบด้วยฟังก์ชันและตัวแปรทั้งหมด ตัวอย่างเช่น:

sub Symbols

{

my($hashRef) = shift;

my(%sym);

my(@sym);

%sym = %{$hashRef};

@sym = sort(keys(%sym));

foreach (@sym)

{

printf("%-10.10s| %s\n", $_, $sym{$_});

}

}

Symbols(\%Foo::);

package Foo;

$bar = 2;

sub baz {

$bar++;

}

31) คุณจะใช้คำเตือน Perl ได้อย่างไร และมีความสำคัญในการใช้งานอย่างไร?

คำเตือน Perl คือคำเตือนที่ Perl ตรวจสอบคุณภาพของโค้ดที่คุณสร้างขึ้น คำเตือนภาคบังคับจะเน้นถึงปัญหาในขั้นตอนการวิเคราะห์คำศัพท์ คำเตือนเพิ่มเติมจะเน้นกรณีความผิดปกติที่อาจเกิดขึ้น

use warnings; # it is same as importing "all"

no warnings; # it is same as unimporting "all"

use warnings::register;

if (warnings::enabled()) {

warnings::warn("any warning");

}

if (warnings::enabled("void")) {

warnings::warn("void", "any warning");

}

32) ข้อความใดมีการกำหนดค่าเริ่มต้น การตรวจสอบเงื่อนไข และนิพจน์ส่วนเพิ่มในร่างกาย เขียนไวยากรณ์เพื่อใช้คำสั่งนั้น

for ($count = 10; $count >= 1; $count--)

{

print "$count ";

}

33) คุณจะแทนที่อักขระจากสตริงและบันทึกจำนวนการแทนที่ได้อย่างไร?

#!usr/bin/perl

use strict;

use warnings;

my $string="APerlAReplAFunction";

my $counter = ($string =~ tr/A//);

print "There are $counter As in the given string\n";

print $string;

34) ลบข้อมูลที่ซ้ำกันออกจาก @array=(“perl”,”php”,”perl”,”asp”)

sub uniqueentr

{

return keys %{{ map { $_ => 1 } @_ }};

}

@array = ("perl","php","perl","asp");

print join(" ", @array), "\n";

print join(" ", uniqueentr(@array)), "\n";

35) ข้อมูลสามารถใส่ลงในแฮชได้อย่างไร?

เมื่อมีการอ้างอิงค่าแฮช ค่าแฮชจะไม่ถูกสร้างขึ้น จะถูกสร้างขึ้นเมื่อมีการกำหนดค่าเท่านั้น เนื้อหาของแฮชไม่มีการแสดงตามตัวอักษร ในกรณีที่จะเติมแฮชในคราวเดียว จะต้องทำการคลี่คลายแฮช การคลี่คลายแฮชหมายความว่าคู่ค่าคีย์ในแฮชสามารถสร้างขึ้นได้โดยใช้รายการ และสามารถแปลงจากรายการนั้นได้เช่นกัน ในกระบวนการแปลงนี้ รายการที่เป็นเลขคู่จะถูกวางไว้ทางด้านขวาและเรียกว่าค่า รายการที่วางด้านซ้ายจะมีเลขคี่และเก็บไว้เป็นกุญแจ แฮชไม่มีการเรียงลำดับภายในที่กำหนดไว้ ดังนั้นผู้ใช้จึงไม่ควรพึ่งพาการเรียงลำดับใดโดยเฉพาะ

ตัวอย่างการสร้างแฮช:

%birthdate = ( Ram => "01-01-1985",

Vinod => "22-12-1983",

Sahil => "13-03-1989",

Sony => "11-09-1991");

36) เหตุใดนามแฝง Perl จึงถือว่าเร็วกว่าการอ้างอิง

ในภาษา Perl นามแฝงจะถือว่าเร็วกว่าการอ้างอิง เนื่องจากไม่จำเป็นต้องมีการยกเลิกการอ้างอิงใดๆ


37) หน่วยความจำสามารถจัดการใน Perl ได้อย่างไร?

เมื่อใดก็ตามที่มีการใช้ตัวแปรใน Perl ตัวแปรนั้นจะใช้พื้นที่หน่วยความจำบางส่วน เนื่องจากคอมพิวเตอร์มีหน่วยความจำจำกัด ผู้ใช้จึงต้องระมัดระวังหน่วยความจำที่โปรแกรมใช้ ตัวอย่างเช่น:

use strict;

open(IN,"in");

my @lines = <IN>

close(IN);

open(OUT,">out");

foreach (@lines)

{

print OUT m/([^\s]+)/,"\n";

}

close(OUT);

เมื่อรันโปรแกรมข้างต้น หลังจากอ่านไฟล์แล้ว มันจะพิมพ์คำแรกของแต่ละบรรทัดไปยังไฟล์อื่น หากไฟล์มีขนาดใหญ่เกินไป หน่วยความจำภายในระบบจะไม่เพียงพอ เพื่อหลีกเลี่ยงปัญหานี้ คุณสามารถแบ่งไฟล์ออกเป็นส่วนต่างๆ ได้


38) คุณจะสร้างรูทีนย่อยที่ไม่ระบุตัวตนได้อย่างไร?

sub BLOCK

sub PROTO BLOCK

sub ATTRS BLOCK

sub PROTO ATTRS BLOCK

39) บริบทของรูทีนย่อยหมายถึงอะไร?

มันถูกกำหนดให้เป็นประเภทของค่าตอบแทนที่คาดหวัง คุณสามารถใช้ฟังก์ชันเดียวที่คืนค่าต่างกันได้


40) แสดงรายการ dereferencer คำนำหน้าในภาษา Perl

$-ตัวแปรสเกลาร์

%-ตัวแปรแฮช

@-อาร์เรย์

&-รูทีนย่อย

ประเภท globs-*myvar ย่อมาจาก @myvar, %myvar


41) ในโมดูล CPAN ตั้งชื่ออินสแตนซ์ที่คุณใช้

ใน CPAN CGI และ DBI เป็นแพ็คเกจทั่วไป


42) ข้อดีของ c เหนือ Perl คืออะไร?

มีเครื่องมือในการพัฒนาสำหรับ C มากกว่า PERL PERL ดำเนินการช้ากว่าโปรแกรม C Perl ดูเหมือนจะเป็นภาษาที่ตีความ แต่โค้ดนั้นเป็นไปตามทันที หากคุณไม่ต้องการให้ผู้อื่นใช้โค้ด Perl ของคุณ คุณจะต้องซ่อนโค้ดของคุณด้วยวิธีที่ไม่เหมือนกับภาษา C หากไม่มีเครื่องมือเพิ่มเติม คุณจะไม่สามารถสร้างโปรแกรม Perl ที่ปฏิบัติการได้


43) “นิพจน์ทั่วไปของ Perl ตรงกับสตริงที่ยาวที่สุดเท่าที่จะเป็นไปได้” แมตช์นี้ชื่ออะไรคะ?

มันถูกเรียกว่า "การจับคู่โลภ" เนื่องจากโดยปกติแล้วนิพจน์ทั่วไปของ Perl จะจับคู่สตริงที่ยาวที่สุดเท่าที่จะเป็นไปได้


45) คุณจะเรียกรูทีนย่อยและระบุรูทีนย่อยได้อย่างไร?

'&myvariable' ใช้เพื่อเรียกรูทีนย่อย และ '&' ใช้เพื่อระบุรูทีนย่อย


46) การใช้สัญลักษณ์ '->' คืออะไร?

ในภาษา Perl สัญลักษณ์ '->' เป็นตัวดำเนินการยกเลิกการอ้างอิงแบบอินฟิกซ์ หากด้านขวามือเป็นดัชนีของอาร์เรย์ คีย์แฮช หรือซับรูทีน ด้านซ้ายมือจะต้องเป็นการอ้างอิง

@array = qw/ abcde/; # array

print "n",$array->[0]; # it is wrong

print "n",$array[0]; #it is correct , @array is an array

47) คำว่า chomp จำเป็นตรงไหน และหมายความว่าอย่างไร?

เราสามารถกำจัดอักขระขึ้นบรรทัดใหม่ได้โดยใช้ 'chomp' สามารถใช้ได้ในหลายสถานการณ์ ตัวอย่างเช่น

excuteScript.pl FstArgu.

$argu = $ARGV[0];

chomp $argu; --> to get rid of the carrige return.

48) สัญลักษณ์ '$_' หมายถึงอะไร?

'$_' เป็นตัวแปรเริ่มต้นในภาษา Perl และ $_ เรียกว่า "พื้นที่จับคู่อินพุตและรูปแบบเริ่มต้น


49) อินเทอร์เฟซใดที่ใช้ใน PERL เพื่อเชื่อมต่อกับฐานข้อมูล? คุณจะเชื่อมต่อกับฐานข้อมูลใน Perl ได้อย่างไร?

เราสามารถเชื่อมต่อกับฐานข้อมูลโดยใช้โมดูล DBI ในภาษา Perl

use DBI;

my $dbh = DBI->connect('dbi:Oracle:orcl', 'username', 'password',)

50) จงระบุตัวดำเนินการที่ใช้ใน Perl

Operaทอร์ที่ใช้ใน Perl คือ

  • การต่อสตริง '.'
  • การเปรียบเทียบ Operaทอร์ส ==, !=, >,< , >=
  • ตรรกะ Operaทอร์ส &&, ll , !
  • การมอบหมาย Operaทอร์ + = ,- + , *=
  • การเพิ่มขึ้นและการลดลง Operaทอร์ ++ ,-
  • คณิตศาสตร์ Operaทอร์ +, – ,*

51) อธิบายว่าฟีเจอร์ใดของ PERL ที่ทำให้โค้ดสามารถนำกลับมาใช้ใหม่ได้?

เพื่อให้สามารถใช้โค้ดซ้ำในคุณลักษณะการสืบทอด PERL ได้ ใน Inheritance คลาสลูกสามารถใช้เมธอดและคุณสมบัติของคลาสพาเรนต์ได้


52) พูดถึงความแตกต่างระหว่าง die และ exit ใน Perl หรือไม่?

Die จะพิมพ์ข้อความไปที่ std err ก่อนที่จะจบโปรแกรม ในขณะที่ Exit จะทำให้โปรแกรมจบลง


53) ในภาษา Perl ฟังก์ชัน grep ใช้ทำอะไร?

หากต้องการกรองรายการและส่งกลับเฉพาะองค์ประกอบที่ตรงกับเกณฑ์ที่กำหนด ฟังก์ชัน Perl grep จะถูกนำมาใช้


54) ไวยากรณ์ที่ใช้ในฟังก์ชัน Perl grep คืออะไร?

ไวยากรณ์ที่ใช้ใน Perl คือ

  • grep BlOCK รายการ
  • grep ( EXPR, LIST )
  • ปิดกั้น: ประกอบด้วยคำสั่งตั้งแต่หนึ่งคำสั่งขึ้นไปที่คั่นด้วยเครื่องหมายปีกกา คำสั่งสุดท้ายจะกำหนดในบล็อกว่าบล็อกนั้นจะถูกประเมินว่าเป็นจริงหรือเท็จ
  • แสดงออก: แสดงถึงนิพจน์ใดๆ ที่รองรับ $ โดยเฉพาะนิพจน์ทั่วไป กับแต่ละองค์ประกอบของรายการ นิพจน์จะถูกใช้ และหากผลลัพธ์ของการประเมินเป็นจริง องค์ประกอบปัจจุบันจะถูกแนบไปกับรายการที่ส่งคืน
  • รายการ: เป็นรายการองค์ประกอบหรืออาร์เรย์

55) อธิบายว่าข้อมูลสเกลาร์และตัวแปรสเกลาร์ในภาษา Perl คืออะไร?

สเกลาร์ในภาษา Perl หมายถึงเอนทิตีเดียว เช่น ตัวเลขหรือสตริง ดังนั้น Java แนวคิดของ int, float, double และ string เท่ากับสเกลาร์ของ Perl และตัวเลขและสตริงสามารถแลกเปลี่ยนกันได้ ในขณะที่ตัวแปรสเกลาร์ใช้เพื่อจัดเก็บข้อมูลสเกลาร์ ตัวแปรนี้ใช้เครื่องหมาย $ และตามด้วยอักขระตัวอักษรและตัวเลขหรือเครื่องหมายขีดล่างหนึ่งตัวขึ้นไป ตัวแปรนี้คำนึงถึงตัวพิมพ์เล็ก/ใหญ่


56) สัญลักษณ์ -> หมายถึงอะไรในภาษา Perl?

ในภาษา Perl สัญลักษณ์ลูกศร -> ใช้เพื่อสร้างหรือเข้าถึงวัตถุเฉพาะของคลาส


57) พูดถึงวิธีการแสดงสตริงในภาษา Perl ได้กี่วิธี?

คุณสามารถแสดงสตริงในภาษา Perl ได้หลายวิธี

เช่น “นี่คือ guru99”

  • qq/นี่คือ guru99 เหมือนสตริงที่มีเครื่องหมายคำพูดคู่/
  • qq^นี่คือ guru99 เหมือนสตริงที่มีเครื่องหมายคำพูดคู่^
  • q/นี่คือ guru99/
  • ถาม&นี่คือ guru99&
  • q(นี่คือ guru99)

58) อธิบายคำสั่งการใช้งานและข้อกำหนด?

  • คำสั่ง REQUIRE: ใช้เพื่อนำเข้าฟังก์ชันที่มีขอบเขตทั่วโลกเพื่อให้สามารถเข้าถึงออบเจ็กต์และฟังก์ชันได้โดยตรง

ตัวอย่าง: ต้องการโมดูล

Var=โมดูล::วิธีการ(); //วิธีการเรียกพร้อมกับการอ้างอิงโมดูล

  • คำสั่ง USE จะถูกตีความและดำเนินการในระหว่างการแยกวิเคราะห์ ในขณะที่ในระหว่างรันไทม์ คำสั่ง need จะถูกดำเนินการ

ตัวอย่าง: ใช้โมดูล

วาร์=เมธอด(); //สามารถเรียกเมธอดได้โดยตรง


59) อธิบายว่าฟังก์ชั่น Chop & Chomp ทำหน้าที่อะไร?

  • สับฟังก์ชั่น กำจัดอักขระตัวสุดท้ายออกจาก expr ซึ่งก็คือแต่ละองค์ประกอบของรายการ
  • ฟังก์ชั่นสับ กำจัดอักขระตัวสุดท้ายออกจาก expr หรือแต่ละองค์ประกอบของรายการ หากตรงกับค่าของ $/ ถือว่าดีกว่าสับเพราะจะลบตัวละครออกหากมีการจับคู่เท่านั้น

60) พูดถึง CPAN คืออะไร?

CPAN หมายถึง Perl ที่ครอบคลุม Archive Network ชุดซอฟต์แวร์และเอกสาร Perl จำนวนมาก


61) อธิบายว่า Polymorphism ในภาษา Perl คืออะไร?

ในภาษา Perl นั้น Polymorphism หมายถึงวิธีการที่กำหนดไว้ในคลาสพื้นฐานจะแทนที่วิธีการที่กำหนดไว้ในคลาสพาเรนต์เสมอ


62) พูดถึงสองวิธีในการรับค่าส่วนตัวภายในรูทีนย่อยหรือบล็อกคืออะไร?

มีสองวิธีที่สามารถรับค่าไพรเวตภายในรูทีนย่อยหรือบล็อกได้

  • องถิ่น Operaทอร์: ตัวแปรทั่วโลกจะมีเพียงตัวดำเนินการนี้เท่านั้นที่สามารถทำงานได้ ค่าของตัวแปรส่วนตัวจะถูกบันทึกไว้ใน องถิ่น OperaTor และจัดให้มีการเรียกคืนเมื่อสิ้นสุดบล็อก
  • My Operaทอร์: ตัวดำเนินการนี้ใช้สำหรับกำหนดหรือสร้างตัวแปรใหม่ ตัวแปรที่ถูกสร้างโดย My OperaTor จะถูกประกาศให้เป็นส่วนตัวเสมอเพื่อบล็อกภายในซึ่งถูกกำหนดไว้

63) อธิบายว่า STDIN, STDOUT และ STDERR คืออะไร

  • STDIN: ตัวจัดการไฟล์ STDIN ใช้เพื่ออ่านจากแป้นพิมพ์
  • STDOUT: ใช้สำหรับเขียนลงหน้าจอหรือโปรแกรมอื่น
  • STDERR: มันยังใช้เพื่อเขียนลงบนหน้าจอด้วย STDERR เป็นกระแสข้อผิดพลาดมาตรฐานที่ใช้ใน Perl

64) การปิดใน PERL คืออะไร?

การปิดคือบล็อกของโค้ดที่ใช้ในการจับภาพสภาพแวดล้อมที่มีการกำหนดไว้ โดยเฉพาะอย่างยิ่งจะจับตัวแปรคำศัพท์ที่บล็อกประกอบด้วยและใช้ในพื้นที่รอบนอก


65) อธิบายว่า Perl one liner คืออะไร?

หนึ่งไลเนอร์คือหนึ่งโปรแกรมบรรทัดคำสั่งและสามารถดำเนินการจากบรรทัดคำสั่งได้ทันที

ตัวอย่างเช่น

# run program under the debugger

perl-d my_file

66) อธิบายว่า lvalue คืออะไร?

ค่า lvalue คือค่าสเกลาร์ซึ่งสามารถใช้เพื่อจัดเก็บผลลัพธ์ของนิพจน์ใดๆ โดยปกติแล้วจะปรากฏที่ด้านซ้ายมือของนิพจน์และแสดงถึงพื้นที่ข้อมูลในหน่วยความจำ


67) อธิบายว่าฟังก์ชันใดที่ใช้ในการระบุจำนวนอักขระในสตริงคืออะไร?

เพื่อบอกจำนวนอักขระในสตริง ความยาว () มีการใช้ฟังก์ชัน


68) อธิบายว่า prefix dereferencer คืออะไร และแสดงรายการไว้

การใช้คำนำหน้าเฉพาะเมื่อคุณอ้างอิงตัวแปร จะเรียกว่าคำนำหน้า dereferencer

  • $- ตัวแปรสเกลาร์
  • %-ตัวแปรแฮช
  • @-อาร์เรย์
  • &-รูทีนย่อย
  • ประเภท globs-*myvar ย่อมาจาก @myvar, %myvar

69) อธิบายว่าฟังก์ชันของ Return Value คืออะไร?

ฟังก์ชัน Return Value จะส่งคืนการอ้างอิงไปยังวัตถุที่ได้รับสิทธิ์ใน CLASSNAME

แบบทดสอบการรับรอง Perl

คำถาม Perl MCQ เหล่านี้จะช่วยคุณในการประเมินตนเองและการเตรียมตัวสำหรับการสอบเพื่อรับใบรับรอง Perl ทำแบบทดสอบ Perl ออนไลน์ฟรีซึ่งมี MCQ เพื่อทดสอบความรู้เกี่ยวกับ Perl

คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)