bonjour,
je dois modifié une classe perl, et je souhaiterais ajouter un paramètre lors de l'appel du constructeur. Mais je souhaiterais que ce paramètre soit optionnel.

voici ce que j'ai fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
sub new
{
    my $object = shift;
    my $bds = shift;
    my $prepaid = shift;
    #$prepaid = '' if(undef($prepaid));
    $prepaid = '' if((defined($prepaid) and $prepaid ne '0' and $prepaid ne '1') or undef($prepaid));
    #$prepaid = '' unless($prepaid);
    my $self = {};
 
    bless($self, $object);
    $objects += 1;
    $self->{BDS} = $bds;
    $self->{PREPAID} = $prepaid;#PREPAID
Ensuite je fais des des test comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if( $self->{PREPAID} ne '' ){
mais quand j'ai des appel de la classe sans le paramètre $prepaid j'ai es
warning : Use of uninitialized value in concatenation (.) or string at AdonixFile.pm line 49.
comment puis-je faire pour que le paramètre $prepaid soit optionnel ?