Bonjour,

Je bosse sur un parser de fichier .xml. Je n'utilise pas le module XML:arser car 2 expressions régulières me suffiront amplement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
GetOptions("file:s" => \my $file);

if (defined($file))
{
    if (-e $file)
    {
        open(my $file_handle, "<", $file) or die "Erreur avec l\'ouverture du fichier $file : $!\n";
        
        while (my $line = <$file_handle>)
        {
            my $login = Parser($line, "<login>");
        }
        close($file_handle);
    }
    else
    {
        print "Le fichier $file n'existe pas";    
    }
}
else
{
    print $usage;
}
#
# Function
#
sub Parser
{
    my ($line, $expr) = shift;
    
    print "$line";
    print "$expr";
}
Ce bout de code me retourne "Use of uninitialized value $expr in string" qui correspond à la ligne print "$expr";
Je ne comprends pas cette erreur. Ma variable $expr est bien déclaré dans la fonction et doit récupérer <login>.. ça fonctionne très bien pour $line pourtant.

Soit j'ai raté quelque chose de tout bête, soit je n'ai pas tout compris :-/
Merci d'avance pour vos lumières