Bonjour,
je suis en train de créer un fichier CSV pour récupérer les valeurs des cellules pour créer des fichiers de configurations.
Je lis le fichier avec le module CPAN TEXT::CSV et dans une cellule je peux avoir plusieurs résultat.
Ce qui donne en gros ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 my $route = "192.168.0.0 255.255.255.0 10.0.0.1 192.168.1.0 255.255.255.0 10.0.0.1 192.168.2.0 255.255.255.0 10.0.0.1";
Le but est de rajouter "ip route" avant chaque ligne pour l'intégrer dans un fichier ultérieusement.
J'ai réussi à faire le rajout en passant par une array.
Mais est ce propre?
Est ce que je peux directement modifier la scalar?
J'ai eu deux possibilités.
### 1er solution ###
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 my @ligne = split /\n/, $route; #foreach my $iproute (@ligne) { # $iproute = "ip route $iproute"; # print "$iproute\n"; # } #print @ligne;
### 2è solution ###
### Résultat ###
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 my @lines; foreach (@ligne) { s/^$_/ip route $_\n/; push @lines, $_; } $lines[-1] =~ s/\n$//; print @lines;
ip route 192.168.0.0 255.255.255.0 10.0.0.1
ip route 192.168.1.0 255.255.255.0 10.0.0.1
ip route 192.168.2.0 255.255.255.0 10.0.0.1
Si il y a aussi un moyen de supprimer le dernier retour à la ligne en fin de la boucle je suis preneur
Partager