bonjour,
j'ai une regex de formeet je voudrai la découper en partie pour donner à chaque partie une correspondance.
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
voila mon codeje suis convaincu qu'il est bien, mais le pbm je n'ai ni de retour ni de message d'erreur.
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"; }
merci de m'aider sur ce pbm.
Partager