anapajari s/travail/glanding on hfr/gs; | C'est pas vraiment spécifique à perl, la récursivité. C'est "un concept" algorithmique. Definition de wikipedia:
Citation :
une fonction récursive est une fonction, au sens informatique de ce terme, qui peut s'appeler elle-même au cours de son exécution.
|
C'est généralement très utilisé dans les parcours de tableaux( de tableaux de tableaux) ou d'arbre.
Pour ton truc ( si j'ai tout bien compris ce que tu veux), en gros ça donnerait un truc comme ça:
Code :
- #!/usr/bin/perl
- use strict;
- my @example = (
- 1,
- ['1.1','1.2','1.3',['1.3.1','1.3.2','1.3.3']],
- 2,
- ['2.1',['2.1.1','2.1.2','2.1.3'],'2.2'],
- 3,
- ['3.1',['3.1.1','3.1.2'],'3.2',['3.2.1','3.2.2']]
- );
- printArray(\@example);
- sub printArray {
- my $prm = shift;
- my $inc = shift||'';
- if ( ref $prm eq 'ARRAY'){
- foreach(@$prm){
- printArray($_,$inc." " );
- }
- } elsif ( ref $prm ne 'HASH'){
- print $inc.$prm,"\n";
- }
- }
|
|