Топ 69 въпроса и отговора за интервю за Perl (2026)

Ето въпроси и отговори за интервю за Perl Scripting за по-свежи и опитни кандидати, за да получат мечтаната работа.

Въпроси за интервю за Perl за първокурсници

1) Разлика между променливите, в които работи функцията chomp?

  • скаларен: Означава се със символ $. Променливата може да бъде число или низ.
  • Array: Обозначава се с префикс символ @. Масивите се индексират с числа.

Пространството от имена за тези типове променливи е различно. Например: @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));

};

Изход: Резултат = 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 Scripting
Въпроси за интервю за Perl Scripting

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";

Изход:

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");

Асоциативни масиви: Той също така често се нарича хешове и е третият основен тип данни в 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 ";

Изход:

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“.

В случай, че не се използва обектно-ориентирана техника, пакетът трябва да бъде извлечен от класа Exporter.

Освен това, ако не се използват обектно-ориентирани техники, модулът трябва да експортира своите функции и променливи в основното пространство на имената, използвайки масивите @EXPORT и @EXPOR_OK (директивата за използване се използва за зареждане на модулите).


Въпроси и отговори за интервю с 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) Ако искате да изпразните масив, как бихте направили това?

Можем да изпразним масив, като зададем дължината му на произволно число –ve, обикновено -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 и strict в Perl?

Когато използваме –w, той дава предупреждения за възможните грешки в интерпретацията в скрипта.

Strict казва на Perl да наложи проверки на дефиницията и използването на променливи. Това може да се извика с помощта на командата use strict. Ако в скрипта има опасни или двусмислени команди, тази прагма спира изпълнението на скрипта, вместо просто да дава предупреждения.

Когато се използва –t, той включва проверка за замърсяване. Той принуждава Perl да проверява произхода на променливите, където външните променливи не могат да се използват в изпълнение на subshell и системни извиквания


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 може да обработва?

Скалари ($): Съхранява една стойност.

Масиви (@): Съхранява списък от скаларни стойности.

Хешове (%): Съхранява асоциативни масиви, които използват ключова стойност като индекс вместо числови индекси


27) Напишете синтаксис за използване на функцията grep?

grep BLOCK LIST

grep (EXPR, LIST)

28) Каква е употребата на опциите -n и -p?

Опциите -n и -p се използват за обвиване на скриптове вътре Loops. Опцията -n кара Perl да изпълни скрипта вътре в цикъла. Опцията -p също използва същия цикъл като цикъла -n, но в допълнение към него използва continue. Ако опциите -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) Избройте дереференциращия префикс в 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 са

  • Конкатенация на низове '.'
  • сравнение Operators ==, !=, >,< , >=
  • логичен Operators &&, ll, !
  • Задание Operators + = ,- + , *=
  • Увеличаване и намаляване Operators ++ ,-
  • аритметика Operators +, – ,*

51) Обяснете коя характеристика на PERL осигурява повторно използване на кода?

За да се осигури повторно използване на кода в PERL се използва функция за наследяване. В Inheritance дъщерният клас може да използва методите и свойството на родителския клас.


52) Споменете разликата между die и exit в Perl?

Die ще отпечата съобщение до std err преди да приключи програмата, докато Exit просто ще прекрати програмата.


53) В Perl за какво се използва функцията grep?

За филтриране на списъка и връщане само на онези елементи, които отговарят на определени критерии, се използва функцията Perl grep.


54) Какъв е синтаксисът, използван във функцията grep на Perl?

Синтаксисът, използван в Perl, е

  • grep БЛОК СПИСЪК
  • grep (EXPR, СПИСЪК)
  • БЛОКИРАНЕ: Той съдържа един или повече изрази, разделени със скоби, като последният оператор определя в блока дали блокът ще бъде оценен като верен или неверен.
  • EXPR: Той представлява всеки израз, който поддържа $, особено регулярен израз. Срещу всеки елемент от списъка се прилага израз и ако резултатът от оценката е верен, текущият елемент ще бъде прикачен към върнатия списък
  • СПИСЪК: Това е списък от елементи или масив

55) Обяснете какво представляват скаларните данни и скаларните променливи в Perl?

Скалар в Perl означава единичен обект като число или низ. Така че, Java концепцията за int, float, double и string е равна на perls scalar и числата и низовете могат да се разменят. Докато скаларната променлива се използва за съхраняване на скаларни данни. Той използва знак $ и последван от един или повече буквено-цифрови знака или долна черта. Регистърът е чувствителен.


56) Какво означава символът -> в Perl?

В Perl символът стрелка –> се използва за създаване или достъп до определен обект от клас.


57) Споменете по колко начина можете да изразите низ в Perl?

Можете да изразите низ в Perl по много начини

Например „това е guru99.“

  • qq/това е guru99 като низ с двойни кавички/
  • qq^това е guru99 като низ с двойни кавички^
  • q/това е guru99/
  • q&това е guru99&
  • q(това е guru99)

58) Обяснете изразите USE и REQUIREMENT?

  • Инструкция REQUIRE: Използва се за импортиране на функции с глобален обхват, така че техните обекти и функции да могат да бъдат достъпни директно

Пример: Изискване на модул,

Вар=модул::метод(); // метод, извикан с препратката към модула

  • USE операторите се интерпретират и се изпълняват по време на парсване, докато по време на изпълнение операторите изискват се изпълняват.

Пример: Използвайте модул

Вар=метод(); //методът може да бъде извикан директно


59) Обяснете какво прави функцията Chop & Chomp?

  • Функция за нарязване елиминира последния знак от израз, всеки елемент от списъка
  • Функция Chomp елиминира последния знак от израз или всеки елемент от списъка, ако съвпада със стойността на $/. Смята се за по-добър от chop, тъй като премахва героя само ако има съвпадение.

60) Споменете какво е CPAN?

CPAN означава Comprehensive Perl Archive Network, голяма колекция от Perl софтуер и документация.


61) Обяснете какво е полиморфизъм в Perl?

В Perl полиморфизмът означава, че методите, дефинирани в базовия клас, винаги ще заместват методите, дефинирани в родителския клас.


62) Споменете кои са двата начина за получаване на частни стойности вътре в подпрограма или блок?

Има два начина, чрез които частните стойности могат да бъдат получени вътре в подпрограма или блок

  • местен OperaТор: Само този оператор може да работи с глобални променливи. Стойността на частната променлива се записва на местен OperaTor и предвижда възстановяването им в края на блока
  • My OperaТор: За дефиниране или създаване на нова променлива може да се използва този оператор. Променлива, която е създадена от My OperaTor винаги ще бъде обявен за частен за блокиране, в който е дефиниран.

63) Обяснете какво е STDIN, STDOUT и STDERR?

  • STDIN: Файловият манипулатор STDIN се използва за четене от клавиатурата
  • STDOUT: Използва се за запис в екрана или друга програма
  • STDERR: Използва се и за писане в екран. STDERR е стандартен поток от грешки, който се използва в Perl.

64) Какво е затварянето в PERL?

Затварянето е блок от код, който се използва за улавяне на средата, в която е дефиниран. Той улавя по-специално всички лексикални променливи, от които блокът се състои и използва в космическо пространство.


65) Обяснете какво е Perl one liner?

One liner е програма от един команден ред и може да се изпълни незабавно от командния ред.

Например,

# run program under the debugger

perl-d my_file

66) Обяснете какво е lvalue?

lvalue е скаларна стойност, която може да се използва за съхраняване на резултата от всеки израз. Обикновено се появява от лявата страна на израза и представлява пространство от данни в паметта.


67) Обяснете каква е функцията, която се използва за идентифициране колко знака има в низ?

За да разберете колко знака има в низ, дължина () се използва функция.


68) Обяснете какво представлява дереференцирането на префикса и ги избройте?

Използването на конкретен префикс, когато дереференцирате променлива, се нарича префикс дереферент.

  • $- Скаларни променливи
  • %-Хеш променливи
  • @-Масиви
  • &-Подпрограми
  • Въведете globs-*myvar означава @myvar, %myvar

69) Обяснете каква е функцията на връщаната стойност?

Функцията за връщане на стойност връща препратка към обект, благословен в CLASSNAME.

Тест за сертифициране на Perl

Тези Perl MCQ въпроси ще ви помогнат при самооценката и подготовката за изпита за сертифициране по Perl. Направете този безплатен онлайн тест за Perl, който съдържа MCQ, за да проверите знанията си за Perl.

Тези въпроси за интервю също ще ви помогнат във вашия viva(orals).

Обобщете тази публикация с: