Introduction aux commandes Perl

Perl est un langage de programmation. Auparavant conçu pour l'édition de texte uniquement, il est maintenant utilisé à de nombreuses fins comme l'administration système sous Linux, le développement Web, la programmation réseau, etc. L'architecte en chef et le créateur de Perl sont Larry Wall. Il a été créé en 1987 et est toujours utilisé comme langage de programmation majeur. Perl est un langage de haut niveau. C'est également un langage de programmation interprété et dynamique. Nous allons maintenant apprendre en détail les commandes Perl.

Commandes Perl de base

1. Commande Perl de base pour imprimer en Perl

#!/usr/bin/perl
# This will print "Hello, World"
print "Hello, world\n";

2. Commentaire sur une seule ligne en Perl

#!/usr/bin/perl
# This is a single line comment
print "Hello Perl\n";

3. Commentaire sur plusieurs lignes en Perl

#!/usr/bin/perl
=begin comment
This is a multiline comment.
Line 1
Line 2
Line 3
We can insert
as much lines
as comments
until we code =cut
to end multiline comments
=cut
print "Hello Perl\n";

4. Affectation des variables en Perl (interpolation des variables entre guillemets)

#!/usr/bin/perl
$a = 10;
print "Variable a = $a\n";

5. Caractère d'échappement en Perl

#!/usr/bin/perl
$a = "This is \"Perl\"";
print "$a\n";
print "\$a\n";

6. En Perl, les chaînes ont un comportement différent avec des guillemets doubles et des guillemets simples. Alors que les guillemets doubles permettent l'interpolation, les guillemets simples ne le permettent pas.

#!/usr/bin/perl
# Interpolation example.
$str = "Hello \nPerl";
print "$str\n";
# Non-interpolation example.
$str = 'Hello \nPerl';
print "$str\n";

7. Majuscule dans la commande Perl

#!/usr/bin/perl
# Only u will become upper case.
$str = "\uhello perl";
print "$str\n";
# All the letters will become Uppercase.
$str = "\Uhello perl";
print "$str\n";
# A portion of string will become Uppercase.
$str = "hello \Uperl\E";
print "$str\n";

8. Affectation de variable scalaire en Perl

#!/usr/bin/perl
$age = 35; # Assigning an integer
$name = "Tony Stark"; # Assigning a string
$pi = 3.14; # Assigning a floating point
print "Age = $age\n";
print "Name = $name\n";
print "Pi = $pi\n";

9. Opérations scalaires simples en Perl

#!/usr/bin/perl
$constr = "hi" . "perl";# Concatenates two or more strings.
$add = 40 + 10; # addition of two numbers.
$prod = 4 * 51;# multiplication of two numbers.
$connumstr = $constr . $add;# concatenation of string and number.
print "str = $constr\n";
print "num = $add\n";
print "mul = $prod\n";
print "mix = $connumstr\n";

10. Littéraux spéciaux en Perl

#!/usr/bin/perl
print "Current file name ". __FILENAME__ . "\n";
print "Current Line Number " . __LINENO__ ."\n";
print "Current Package " . __PACKAGENAME__ ."\n";
# here they cannot be interpolated
print "__FILENAME__ __LINENO__ __PACKAGENAME__\n";

Commandes Perl intermédiaires

1. Tableaux en Perl

L'index du tableau commence à 0. L'index négatif indique les éléments de la dernière position. Exemple ci-dessous.

#!/usr/bin/perl

@weekday = qw/Mon Tue Wed Thu Fri Sat Sun/;

print "$weekday(0)\n";
print "$weekday(1)\n";
print "$weekday(2)\n";
print "$weekday(6)\n";
print "$weekday(-1)\n";
print "$weekday(-6)\n";

2. Tableaux d'éléments dans une séquence

#!/usr/bin/perl
@oneToTen = (1..10);
@fiftyToSeventyfive = (50..75);
@aToZ = (a..z);
print "@oneToTen\n"; # Prints one to ten
print "@fiftyToSeventyfive\n"; # Prints fifty to seventy five
print "@aToZ\n"; # Prints from a to z

3. Ajout et suppression d'éléments de réseau

#!/usr/bin/perl
# creating an array
@expression = ("happy", "sad", "angry");
print "1. \@expression = @expression\n";
# add element to the end of the arraypush(@expression, "jolly");
print "2. \@expression = @expression\n";
# add element to the beginning of the arrayunshift(@expression, "excited");
print "3. \@expression = @expression\n";
# remove element to the last of the array.pop(@expression);
print "4. \@expression = @expression\n";
# remove element from the beginning of the array.shift(@expression);
print "5. \@expression = @expression\n";

4. Hachage en Perl

Hash est un concept de paire valeur / clé. Voici un exemple pour créer un hachage.

#!/usr/bin/perl
%data = ('Mohan Singh' => 55, 'Ram Gupta' => 25, 'Bhuvan Kumar' => 31);
@age = values %data;
print "$age(0)\n";
print "$age(1)\n";
print "$age(2)\n";

5. Ajout et suppression d'éléments de hachage

#!/usr/bin/perl
%data = ('Mohan Singh' => 55, 'Ram Gupta' => 25, 'Bhuvan Kumar' => 31);
@keys = keys %data;
$size = @keys;
print "a - Hash size: $size\n";
# add an element to the hash;
$data('Imran Khan') = 44;
@keys = keys %data;
$size = @keys;
print "b - Hash size: $size\n";
# delete an element from the hash;
delete $data('Imran Khan');
@keys = keys %data;
$size = @keys;
print "c - Hash size: $size\n";

6. Déclaration conditionnelle en Perl: si… elsif… sinon

#!/usr/local/bin/perl
$num = 50;
# check condition using if statement
if( $num == 40 ) (
# print the following if true
printf "num has a value which is 20\n";
) elsif( $num == 60 ) (
# else print if the next condition is true
printf "num has a value which is 30\n";
) else (
# if none is true print following
printf "num has a value which is $num\n";
)

7. Instruction conditionnelle en Perl: à moins que… elsif… else

#!/usr/local/bin/perl,
$num = 50;
# check condition using unless statement
unless( $num == 25) (
# if condition is false then print the following
printf "num has a value which is not 25\n";
) elsif( $num == 55) (
# if condition is true then print the following
printf "num has a value which is 55";
) else (
# if both the condition is dissatisfied, print the
original value
printf "num has a value which is $num\n";
)

8. Boucles en Perl: Boucle While

#!/usr/local/bin/perl
$i = 1;
# while loop
while( $i < 5 ) (
printf "Value of i: $i\n";
$i = $i + 1;
)

9. Boucles en Perl: jusqu'à la boucle et pour la boucle

#!/usr/local/bin/perl
$i = 1;
# until loop
until( $i > 5 ) (
printf "Value of i: $i\n";
$i = $i + 1;
)
# for loop
for ($j = 0; $j < 3; $j++) (
printf "Value of j: $j\n";
)

10. Boucles en Perl: faire… tout en boucle

#!/usr/local/bin/perl
$i = 10;
# do…while loop
do(
printf "Value of i: $i\n";
$i = $i + 1;
)
while( $i < 20 );

Commandes Perl avancées

1. Programmation des sockets en Perl: serveur

#!/usr/bin/perl -w
# Filename : server.pl
use strict;
use Socket;
# use port 8081 as default
my $port = shift || 8081;
my $protocol = getprotobyname('tcp');
my $server = "localhost"; # Host IP running the
server
# create a socket, make it reusable
socket(SOCKET, PF_INET, SOCK_STREAM,
$protocol)
or die "Can't open socket $!\n";
setsockopt(SOCKET, SOL_SOCKET,
SO_REUSEADDR, 1)
or die "Can't set socket option to SO_REUSEADDR
$!\n";
# bind to a port, then listen
bind( SOCKET, pack_sockaddr_in($port,
inet_aton($server)))
or die "Can't bind to port $port! \n";
listen(SOCKET, 5) or die "listen: $!";
print "SERVER started on port $port\n";
# accepting a connection
my $client_addr;
while ($client_addr = accept(NEW_SOCKET,
SOCKET)) (
# send them a message, close connection
my $name = gethostbyaddr($client_addr,
AF_INET );
print NEW_SOCKET "Smile from the server";
print "Connection recieved from $name\n";
close NEW_SOCKET;
)

2. Programmation des sockets en Perl: Client

!/usr/bin/perl -w
# Filename : client.pl
use strict;
use Socket;
# initialize host and port
my $host = shift || 'localhost';
my $port = shift || 8081;
my $server = "localhost"; # Host IP running the
server
# create the socket, connect to the port
socket(SOCKET, PF_INET, SOCK_STREAM, (getproto
byname('tcp'))(2))
or die "Can't create a socket $!\n";
connect( SOCKET, pack_sockaddr_in($port,
inet_aton($server)))
or die "Can't connect to port $port! \n";
my $line;
while ($line = ) (
print "$line\n";
)close SOCKET or die "close: $!";

3. Connectivité à la base de données à l'aide de Perl

#!/usr/bin/per
use DBI
use strict;
my $driver = "mysql";
my $database = "DBTEST";
my $dsn = "DBI:$driver:database=$database";
my $userid = "user123";
my $password = "pass123";
my $dbh = DBI->connect($dsn, $userid, $password
) or die $DBI::errstr;

4. Programmation CGI avec Perl

#!/usr/bin/perl
print "Content-type:text/html\r\n\r\n";
print '';
print '';
print 'Hello Perl - CGI Example';
print '';
print '';
print '

Bonjour Perl! Ceci est un exemple de programme CGI

»
impression '';
impression '';
1;

Trucs et astuces pour utiliser les commandes Perl

Perl est censé être un mélange de tous les langages, c'est-à-dire qu'il est équipé des meilleures fonctionnalités des principaux langages de programmation. L'aspect le plus important est de maîtriser les bases et de poursuivre la pratique de cette langue. La mise à niveau et l'auto-amélioration sont la clé du succès.

Conclusion

Les programmes ci-dessus sont des exemples qui aideront une entité à comprendre les bases et à procéder à l'auto-amélioration. Cela a été dit un langage de programmation laid, mais en fait, il présente une grande variété de fonctionnalités. Il est recommandé de suivre ce document pour compiler les codes et comprendre ce qui se passe dans le programme lui-même.

Articles recommandés

Cela a été un guide pour les commandes Perl. Ici, nous avons discuté des commandes Perl de base, immédiates et avancées. Vous pouvez également consulter l'article suivant pour en savoir plus-

  1. Utilisation des commandes Tableau
  2. Comment utiliser les commandes HBase
  3. Commandes MongoDB
  4. Importance des commandes Pig
  5. Programmation des sockets en Python