From 1604ce467b6be0b7c09a7732062aa277d4e3b423 Mon Sep 17 00:00:00 2001 From: Adrian <59370927+adrianfusco@users.noreply.github.com> Date: Thu, 18 Nov 2021 09:16:51 +0100 Subject: [PATCH] Add new Perl questions (#184) * New questions and spell check (#181) Added new questions related with KVM, Libvirt and DNF * New Perl questions * Change postition of topic in the table Put the perl topic at the end of the table to correct the table size --- README.md | 289 ++++++++++++++++++++++++++++++++++++++++++++++++ images/perl.png | Bin 0 -> 34051 bytes 2 files changed, 289 insertions(+) create mode 100644 images/perl.png diff --git a/README.md b/README.md index b8fb3fe..e6fe3e6 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,7 @@ puppet
Puppet
Distributed
Distributed
you
Questions you can ask
+ perl
Perl
@@ -5033,6 +5034,294 @@ Output: 3 [Golang container/heap package](https://golang.org/pkg/container/heap/) +## Perl + +### Perl Self Assessment + +
+What is Perl?
+ +From the official [docs](https://perldoc.perl.org/): + +"Perl officially stands for Practical Extraction and Report Language, except when it doesn't." + +It's a general purpose programming language developed for manipulating texts mainly. It has been used to perform system administration tasks, networking, building websites and more. +
+ +
+What data types Perl has? And how can we define it?
+ +- Scalar: This is a simple variable that stores single data items. It can be a string, number or reference. + +``` +my $number = 5; +``` + +- Arrays: This is a list of scalars. + +``` +my @numbers = (1, 2, 3, 4, 5); +# or using the `qw` keyword (quote word): +my @numbers = qw/1 2 3 4 5/; +# '/' can be another symbol, e.g qw@1 2 3 4 5@ +``` + +- Hashes (or associative arrays): This is an unordered collection of key-value pairs. We can access to a hash using the keys. + +``` +my %numbers = ( + First => '1', + Second => '2', + Third => '3' +); +``` + +
+ +
+How can you access to a hash value, add and delete a key/value pair and modify a hash?
+ +my %numbers = ( + 'First' => '1', + 'Second' => '2', + 'Third' => '3' +); + +- Access: +print($numbers{'First'}); +- Add: +$numbers{'Fourth'} = 4; +- Delete: +delete $numbers{'Third'}; +- Modify: +$numbers{'Fifth'} = 6; + +$numbers{'Fifth'} = 5; + +
+ +
+How can you iterate an array? And a hash?
+ +- Array: + +``` +my @numbers = qw/1 2 3 4 5/; + +# Using `$_` that represents the current iteration in a loop. It starts from index array 0 until the last index. +foreach (@numbers) { + print($_); +} +# Output: 12345 + + +# "$#" returns the max index of an array. That's the reason because we can iterate accesing to the array from the index 0 to the max index. +for my $i (0..$#numbers) { + print($numbers[$i]); +} +# Output: 12345 + + +# Using the `map` keyword: +print map {$_} @numbers; +# Output: 12345 + +# Using `while`. We should take care with this option. When we use `shift` we're deleting the first element of the array and assigning it to the `element` variable. +# After this `loop` the `numbers` array will not have elements. +while (my $element = shift(@numbers)) { + print($element); +} +# Output: 12345 +``` + +- Hashes: + + ``` + my %capital_cities = ( + 'Madrid' => 'Spain', + 'Rome' => 'Italy', + 'Berlin' => 'Germany' +); + +# Iterate and get the `keys`: +foreach my $city (keys %capital_cities) { + print($city . "\n"); +} +# Iterate and get the `values`: +foreach my $country (values %capital_cities) { + print($country . "\n"); +} + +# Iterate and get the values and keys (first option): +foreach my $city (keys %capital_cities) { + print("City: $city - Country: $capital_cities{$city}" . "\n"); +} + +# Iterate and get the values and keys (first option): +while(my ($city, $country) = each %capital_cities) { + print("City: $city - Country: $capital_cities{$city}" . "\n"); +} +``` + +
+ +
+What is a Perl subroutine? How to define it?
+ +It's the perl model for user defined functions (this is also called function like other programming languages). We can define a subroute with the keyword `sub`. + +``` +sub hello { + print "hello"; +} +``` + +
+ +
+Describe the different ways to receive parameters in a subroutine
+ +- List assignment: Using the `@_` array. It's a list with the elements that are being passed as parameters. + +``` +sub power { + my ($b, $e) = @_; + return $b ** $e; +} + +&power(2, 3); +``` + +- Individual assigment: We should access to every element of the `@_` array. It starts from zero. + +``` +sub power { + my $b = $_[0]; + my $e = $_[1]; + return $b ** $e; +} + +&power(2, 3); +``` + +- Using `shift` keyword: It's used to remove the first value of an array and it's returned. + +``` +sub power { + my $b = shift; + my $3 = shift; + return $b ** $e; +} + +&power(2, 3); +``` + + +[Source](https://stackoverflow.com/a/21465275/12771230) + +We can also read the best way in the same S.O answer. + +
+ +
+What is lexical and dynamic scoping?
+
+ +
+How to apply referencing and dereferencing?
+
+ +
+Does Perl have conventions?
+ +You can check [perlstyle](https://perldoc.perl.org/perlstyle) + +
+ +
+What is Perl POD? Can you code an example?
+ +From the official [docs](https://perldoc.perl.org/perlpod): + +"Pod is a simple-to-use markup language used for writing documentation for Perl, Perl programs, and Perl modules." + +``` +=item + This function returns the factorial of a number. + Input: $n (number you wanna calculate). + Output: number factorial. +=cut +sub factorial { + my ($i, $result, $n) = (1, 1, shift); + $result = $result *= $i && $i++ while $i <= $n; + return $result; +} +``` + +
+ +### Perl Regex + +
+How do you perform regular expresions in Perl?
+
+ +### Perl Files Handle + +
+How to write into a file?
+
+ +### Perl OOP + +
+Does Perl have support for OOP?
+ +From the official [docs](https://perldoc.perl.org/perlootut): + +"By default, Perl's built-in OO system is very minimal, leaving you to do most of the work." + +
+ +
+What is the purpose of the bless function?
+ +The function os the `bless` function is used to turning a plain data structure into an object. + +
+ +
+Does Perl have inheritance?
+
+ +
+Does Perl have polymorphism? What is method overriding?
+
+ +### Perl OS + +
+What is Perl Open3?
+
+ +### Perl Packages & Modules + +
+What is a Perl package? And a module?
+
+ +
+What is the difference between .pl and .pm extensions?
+
+ +
+What is cpan? And cpanm?
+
+ +
+How can you install a Perl module?
+
+ ## Mongo
diff --git a/images/perl.png b/images/perl.png new file mode 100644 index 0000000000000000000000000000000000000000..a010406f0f7683a6178a2c65875f893a4d153e29 GIT binary patch literal 34051 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 literal 0 HcmV?d00001