Bonjour,
Ca va vous sembler con, mais j'aimerais comprendre pourquoi mon interpréteur gueule. Ce code marche :
Sortie :
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 #!/usr/bin/perl use strict; use warnings; use YAML; use Data::Dumper; open my $fh, '<', 'config.yml' or die "can't open config file: $!"; my $yml = do { local $/; <$fh> }; my $config = Load($yml); print Dumper($config), "\n"; #print "$_ $config{$_}\n" for (keys %config); #while (my ($k,$v)=each %config){print "$k $v\n"} #print "$config\n";
Ce code marche :# ./yaml2.pl
$VAR1 = {
'NAME' => 'John Doe',
'CONTACTS' => [
'John',
'Paul',
'George'
],
'PHONE' => {
'Work' => '123-5555',
'Home' => '123-4444'
},
'ADDRESS' => '123 Main St.'
};
Sortie :
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 #!/usr/bin/perl use strict; use warnings; use YAML; use Data::Dumper; open my $fh, '<', 'config.yml' or die "can't open config file: $!"; my $yml = do { local $/; <$fh> }; my $config = Load($yml); #print Dumper($config), "\n"; #print "$_ $config{$_}\n" for (keys %config); #while (my ($k,$v)=each %config){print "$k $v\n"} print "$config\n";
Ce code ne marche pas :# ./yaml2.pl
HASH(0x1973568)
Sortie:
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 #!/usr/bin/perl use strict; use warnings; use YAML; use Data::Dumper; open my $fh, '<', 'config.yml' or die "can't open config file: $!"; my $yml = do { local $/; <$fh> }; my $config = Load($yml); #print Dumper($config), "\n"; print "$_ $config{$_}\n" for (keys %config); #while (my ($k,$v)=each %config){print "$k $v\n"} #print "$config\n";
Ce code ne marche pas :# ./yaml2.pl
Global symbol "%config" requires explicit package name at ./yaml2.pl line 15.
Global symbol "%config" requires explicit package name at ./yaml2.pl line 15.
Execution of ./yaml2.pl aborted due to compilation errors.
[/CODE]
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 #!/usr/bin/perl use strict; use warnings; use YAML; use Data::Dumper; open my $fh, '<', 'config.yml' or die "can't open config file: $!"; my $yml = do { local $/; <$fh> }; my $config = Load($yml); #print Dumper($config), "\n"; #print "$_ $config{$_}\n" for (keys %config); while (my ($k,$v)=each %config){print "$k $v\n"} #print "$config\n";
Sortie :
Mon fichier .yml juste pour la forme :# ./yaml2.pl
Global symbol "%config" requires explicit package name at ./yaml2.pl line 16.
Execution of ./yaml2.pl aborted due to compilation errors.
Je veux bien résoudre le problème, mais j'aimerais savoir ce que perl me réclame là du coup, car ma variable est bien déclarée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 --- ADDRESS: 123 Main St. CONTACTS: - John - Paul - George NAME: John Doe PHONE: Home: 123-4444 Work: 123-5555
Merci beaucoup à vous les experts.
Partager