Mais c'est magnifique toutes ces r�ponses...d�sol� de pas avoir r�agi plus t�t, j'�tais un peu entre la Suisse et l'Equateur... ;) Merci � tous pour vos pr�cieux conseils et diff�rentes versions de solutions, je vais regarder tout �a avec la plus grande attention. Vince
> -----Message d'origine----- > De : [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]De la part de Marc SCHAEFER > Envoy� : dimanche, 7. avril 2002 09:14 > � : Groupe Utilisateurs Linux L�man > Objet : Re: fnct PHP pour caract�res accentu�s dans les urls > > > On Sun, 7 Apr 2002, F�lix Hauri wrote: > > > > D'ailleurs ceux-ci sont �galement assez bien fournis au niveau des > > > resources de plus il sont nettements mieux structur�s et un poil plus > > > stricts (j'exag�re mais c'est un peut comme comparer du C avec de > > > l'ADA ou avec du Pascal). > > Voui, alors l�, tes propos n'engagent que toi! > > Mais tu l'as dis au d�but: l'�gout, lait cool heure;) > > Je ne dirai rien, je donnerai un exemple acad�mique, simplifi� et non > comment�, pour seconder ce que dit F�lix, afin de montrer que Perl propose > des paradigmes assez int�ressants: > > use strict; > use Croak; > > package Rectangle; > sub new { > my ($class, $length, $width) = @_; > > return bless { 'length' => $length, > 'width' => $width > }, > $class; > } > > sub DESTROY { > my $self = shift; > } > > sub set_length { > my ($self, $length) = @_; > > $self->{'length'} = $length; > } > > sub set_width { > my ($self, $width) = @_; > > $self->{'width'} = $width; > } > > sub get_length { > my $self = shift; > > return $self->{'length'}; > } > > sub get_width { > my $self = shift; > > return $self->{'width'}; > } > > sub get_surface { > my $self = shift; > > return $self->get_width() * $self->get_length(); > } > > sub get_representation { > my $self = shift; > > return "RECT[" . $self->get_length() . ", " . $self->get_width() . "]"; > } > > sub is_bigger_than { > my ($self, $other) = @_; > > if ($self->get_surface() > $other->get_surface()) { > return 1; > } > else { > return 0; > } > } > > package Square; > use vars qw(@ISA); > use Carp; > > @ISA = qw (Rectangle); > > sub new { > my ($class, $side) = @_; > > my $self = Rectangle->new($side, $side); > > return bless $self, > $class; > } > > sub get_representation { > my $self = shift; > > return "SQUARE[" . $self->get_side() . " ^2] "; > } > > sub set_side { > my ($self, $side) = @_; > > $self->SUPER::set_length($side); > $self->SUPER::set_width($side); > } > > sub get_side { > my $self = shift; > > my $side = $self->SUPER::get_length(); > if ($side != $self->SUPER::get_width()) { > confess("assertion failed: side == length; !=width"); > } > > return $side; > } > > package main; > use Carp; > > print "Starting program.\n"; > > my $rectangle_1 = Rectangle->new(3, 4); > if (defined($rectangle_1)) { > my $square_1 = Square->new(5); > if (defined($square_1)) { > if ($square_1->is_bigger_than($rectangle_1)) { > print "This square instance is bigger than this rectangle.\n"; > } > print "Deleting object: ", $rectangle_1, ".\n"; > undef $rectangle_1; > print "Deleting object: ", $square_1, ".\n"; > undef $square_1; > } > else { > croak "Couldn't allocate Square instance.\n"; > } > } > else { > croak "Couldn't allocate Rectangle instance.\n"; > } > > print "Ending program.\n"; > exit(0); > > > -- > http://www-internal.alphanet.ch/linux-leman/ avant de poser > une question. Ouais, pour se d�sabonner aussi. > -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question. Ouais, pour se d�sabonner aussi.
