Welcome to Coding : Sécurité Programmation Réseaux

Search   in  

 Create an Account Home | Submit News Your Account Content | Topics | Top 10  


Accueil
· Home
· Listing des Articles
· Top 10
· Repository des Exploits

Les sujets / parties
· C / C ++
· Visual Basic
· Asm
· Reseaux
· Java
· Securite
· Divers

Utile
· Listing des Articles

· Telecharger
· Le Forum
· Liens
· Proposer un article

Top20 des Downloads
· 1: Etude des reseaux generalites et protocoles
· 2: Cheval de troie en VB avec sources
· 3: Netcat 1.1
· 4: Keylogger
· 5: Etudes des reseaux hauts debits architectures et protocoles
· 6: Ecoute de port
· 7: Etude du Smart Spoofing
· 8: Win Packet Capture Utils
· 9: Tutorial on Traffic Interception on Switched Lan using ARP spoofing
· 10: Cours de C

User Info
Welcome, Anonymous
Nickname
Password
(Register)
Membership:
Latest: gold-os
New Today: 0
New Yesterday: 1
Overall: 2179

People Online:
Visitors: 40
Members: 0
Total: 40

  
Perl Objet : Quelques exemples en perl objet.
Posted on Friday, July 01 @ 10:11:23 CEST
Topic:

	 Perl Objet : Quelques exemples en perl objet.

1. La programmation orientee objet en Perl
  • 1.1 Un premier exemple simple pour commencer
  • 1.2 Utilisation plus complexe des constructeurs
  • 1.3 La definition automatique de methodes grace a AUTOLOAD


Perl Objet Quelques exemples en perl objet. 1. La programmation orientee objet en Perl 1.1 Un premier exemple simple pour commencer La classe User doit etre definie dans un fichier s'appelant User.pm. La fonction bless cree l'instance de ma classer User. La fonction new renvoie une reference vers cette instance. Quand on utilise une methode, le premier argument passe est une reference vers l'instance de classe. package User;
use strict;

sub new {
my $self = {};
$self->{LOGIN} = undef;
$self->{UID} = undef;
bless($self); # but see below
return $self;
}

# 1er arg. : reference vers une instance.
# Autres arg. : arguments passes a la fonction.
sub login {
my $self = shift;
if (@_) { $self->{LOGIN} = shift }
return $self->{LOGIN};
}

sub uid {
my $self = shift;
if (@_) { $self->{UID} = shift }
return $self->{UID};
}

1; # so the require or use succeeds:
Le script suivant utilise le module User. use User;

$toto = User->new();

$toto->login("am");
print "login:",$toto->login,"
";
1.2 Utilisation plus complexe des constructeurs Le constructeur de ce module est plus complexe. La variable $proto a pour valeur une reference vers une instance deja creee ou bien le type User. package User;
use strict;

sub new {
my $proto = shift;
my $self = {};
if( ref($proto) ) {
$self->{LOGIN}=$proto->{LOGIN};
$self->{UID}=$proto->{UID};
} else {
$self->{LOGIN} = undef;
$self->{UID} = undef;
}
bless($self);
return $self;
}

sub login {
my $self = shift;
if (@_) { $self->{LOGIN} = shift }
return $self->{LOGIN};
}

sub uid {
my $self = shift;
if (@_) { $self->{UID} = shift }
return $self->{UID};
}

1; # so the require or use succeeds:
Ce nouveau constructeur permet de creer l'objet $titi a partir de l'objet $toto. use User;

$toto = User->new();

$toto->login("am");

$titi = $toto->new();

print "login titi:",$titi->login,"
";
print "login toto:",$toto->login,"
";
1.3 La definition automatique de methodes grace a AUTOLOAD La, on ne se donne meme plus la peine de definir les methodes servant a manipuler les attributs. La fonction AUTOLOAD est appelee si la methode demandee n'est pas definie. Dans ce cas, la variable $AUTOLOAD prend le nom de la methode appelee, comme par exemple User::login. package User;
use strict;
use vars qw($AUTOLOAD);

sub new {
my $proto = shift;
my $self = {};
if( ref($proto) ) {
$self->{login}=$proto->{login};
$self->{uid}=$proto->{uid};
} else {
$self->{login} = undef;
$self->{uid} = undef;
}
bless($self);
return $self;
}

sub AUTOLOAD {
my $self = shift;
my $name = $AUTOLOAD; # nom de la methode. Ex : 'User::login'.
$name =~ s/.*:://;

if(@_) {
$self->{$name} = shift;
}

return $self->{$name};
}

1; # so the require or use succeeds:
use User;

$toto = User->new();
$toto->login("am");
print "login toto:",$toto->login,"
";

 
Liens connexes
· Plus à propos de
· Nouvelles transmises par Romain_Le_Guen


L'article le plus lu à propos de :
Perl Objet : Quelques exemples en perl objet.


Article Rating
Average Score: 5
Votes: 1


Please take a second and vote for this article:

Excellent
Very Good
Good
Regular
Bad


Options

 Format imprimable Format imprimable


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.47 Seconds