bonjour,
j'ai une regex de forme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
0200 0706 2917 1840 0482 010A 0109 017D 0151 0000 0000 0000 
11AF 6100 040C 0000 0000 0151 1400 0206 0100 4000 0800 1820 
0237 00
et je voudrai la découper en partie pour donner à chaque partie une correspondance.
voila mon 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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
$msg = "0200 0706 2917 1840 0482 010A 0109 017D 0151 0000 0000 0000 
		11AF 6100 040C 0000 0000 0151 1400 0206 0100 4000 0800 1820 
		0237 00"; 
if($msg =~ m{^\s+([\w\d]4)\s+([\w\d]4)\s+([\w\d]2)([\w\d]2)\s+([\w\d]4)\s+([\w\d]4)\s+([\w\d]4)\s+([\w\d]4)\s+([\w\d]4)\s+([\w\d]4)\s+([\w\d]4)\s+([\w\d]4)\s+([\w\d]4)
\s+([\w\d]2)([\w\d]2)\s+([\w\d]2)([\w\d]2)\s+([\w\d]2)([\w\d]2)\s+([\w\d]2)([\w\d]2)\s+([\w\d]2)([\w\d]2)\s+([\w\d]4)\s+([\w\d]4)\s+([\w\d]4)\s+([\w\d]2)([\w\d]2)\s+([\w\d]2)([\w\d]2)\s+([\w\d]4)\s+([\w\d]4)
\s+([\w\d]4)\s+([\w\d]2)$}x)
{  			
			my $jsp1 = $1;
			my $date = $2.$3;
			my $heure = $4.$5;
			my $jsp2 = $6;
			my $jsp3 = $7;
			my $jsp4 = $8.$9.$10.$11.$12.$13.$14;
			my $codm = $15.$16;
			my $tyr16 = $17.$18;
			my $rgca = $19;
			my $icmate = $20;
			my $icolog = $21;
			my $idmu = $22;
			my $idad = $23;
			my $asml = $24;
			my $inf = $25.$26;
			my $forme = $27;
			my $numano = $28.$29;
			my $diapr = $30;
			my $infcp = $31.$32.$33.$34;
 
print 'jsp1: '.$jsp1."\n"; 
 
			print $jsp1."\n";
			print $date."\n";
			print $heure."\n";
			print $jsp2."\n";
			print $jsp3."\n";
			print $jsp4."\n";
			print $codm."\n";
			print $tyr16."\n";
			print $rgca."\n";
			print $icmate."\n";
			print $icolog."\n";
			print $idmu."\n";
			print $idad."\n";
			print $asml."\n";
			print $inf."\n";
			print $forme."\n";
			print $numano."\n";
			print $diapr."\n";
			print $infcp."\n";
  }
je suis convaincu qu'il est bien, mais le pbm je n'ai ni de retour ni de message d'erreur.
merci de m'aider sur ce pbm.