Perl Programming

  Home  Computer Programming  Perl Programming


“Perl Interview Questions and Answers will guide you that the Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall, a linguist working as a systems administrator for NASA, in 1987, as a general purpose Unix scripting language to make report processing easier. This Perl Interview Questions and Answers Guide will help you to get preparation of job in Perl or learn Pearl by these interview questions and answers.”



46 Perl Programming Questions And Answers

41⟩ What happens to objects lost in "unreachable" memory..... ?

What happens to objects lost in "unreachable" memory, such as the object returned by Ob->new() in `{ my $ap; $ap = [ Ob->new(), $ap ]; }' ?

Their destructors are called when that interpreter thread shuts down.

When the interpreter exits, it first does an exhaustive search looking for anything that it allocated. This allows Perl to be used in embedded and multithreaded applications safely, and furthermore guarantees correctness of object code.

 194 views

42⟩ Assume that $ref refers to a scalar, an array, a hash or to some nested data structure. Explain the following statements

$$ref; # returns a scalar

$$ref[0]; # returns the first element of that array

$ref- > [0]; # returns the first element of that array

@$ref; # returns the contents of that array, or number of elements, in scalar context

$&$ref; # returns the last index in that array

$ref- > [0][5]; # returns the sixth element in the first row

@{$ref- > {key}} # returns the contents of the array that is the value of the key "key"

 212 views

43⟩ How do you match one letter in the current locale?

/[^W_d]/

We don't have full POSIX regexps, so you can't get at the isalpha() <ctype.h> macro save indirectly. You ask for one byte which is neither a non-alphanumunder, nor an under, nor a numeric. That leaves just the alphas, which is what you want.

 186 views

44⟩ How many ways can we express string in Perl?

Many. For example 'this is a string' can be expressed in:

"this is a string"

qq/this is a string like double-quoted string/

qq^this is a string like double-quoted string^

q/this is a string/

q&this is a string&

q(this is a string)

 221 views

45⟩ How do I print the entire contents of an array with Perl?

To answer this question, we first need a sample array. Let's assume that you have an array that contains the name of baseball teams, like this:

@teams = ('cubs', 'reds', 'yankees', 'dodgers');

If you just want to print the array with the array members separated by blank spaces, you can just print the array like this:

@teams = ('cubs', 'reds', 'yankees', 'dodgers');

print "@teamsn";

But that's not usually the case. More often, you want each element printed on a separate line. To achieve this, you can use this code:

@teams = ('cubs', 'reds', 'yankees', 'dodgers');

foreach (@teams) {

print "$_n";

}

 184 views

46⟩ How do you give functions private variables that retain their values between calls?

Create a scope surrounding that sub that contains lexicals.

Only lexical variables are truly private, and they will persist even when their block exits if something still cares about them. Thus:

{ my $i = 0; sub next_i { $i++ } sub last_i { --$i } }

creates two functions that share a private variable. The $i variable will not be deallocated when its block goes away because next_i and last_i need to be able to access it.

 221 views