Question: What is a Perl reference?
|
Answer: A Perl reference is a scalar value that holds the memory address of another value, such as a variable,
array, hash, or subroutine. References allow for complex data structures like nested arrays and hashes, and they enable
passing data structures by reference rather than by value.
|
Question: What is the purpose of the 'split' function in Perl?
|
Answer: The 'split' function is used to split a string into a list of substrings based on a specified
delimiter pattern. It returns the list of substrings.
|
Question: How do you declare and use a reference in Perl?
|
Answer: In Perl References are created using the backslash (\) operator followed by a variable, array, hash, or subroutine name.
To dereference a reference, you use the appropriate sigil ($, @, or %) based on the type of data structure being referenced.
|
Question: What is Perl's 'use warnings' pragma, and why is it important?
|
Answer: The The 'use warnings' pragma enables warnings for suspicious constructs in Perl code.
It helps catch potential errors or problematic code during development, leading to more robust and reliable programs.
|
Question: Can you explain the purpose of Perl's 'ARGV' filehandle?
|
Answer: The 'ARGV' is a special filehandle in Perl that allows you to read input from files specified as
command-line arguments.
It automatically iterates over the files listed in '@ARGV', opening each file in turn for reading.
|
Question: How do you handle multi-line input from the user in Perl?
|
Answer: You can use the '<<EOF' syntax, also known as the here-document syntax, to read multi-line
input from the user.
|
Question: What is the purpose of the 'do' block in Perl?
|
Answer: The 'do' block in Perl is used to execute a block of code or a file as an anonymous subroutine.
It is commonly used for including code from external files or for scoping variables.
|
Question: Can you explain the difference between scalar and list context in Perl?
|
Answer: Below you can find the difference:
• Scalar context expects a single scalar value and evaluates expressions to return a single value.
• List context expects a list of values and evaluates expressions to return a list.
|
Question: How do you handle errors in Perl without terminating the program?
|
Answer: You can use the 'eval function' along with 'die' or 'warn' to trap errors without terminating
the program.
Additionally, Perl provides the 'Try::Tiny' module for more structured exception handling using try, catch, and finally blocks.
|
Question: What is the difference between 'print' and 'say' in Perl?
|
Answer: Both 'print' and 'say' are used to output data in Perl.
The main difference is that say automatically appends a newline character (\n) to the output, while print does not.
The 'say' is available starting from Perl version 5.10 and is more convenient for printing lines of text.
|