Bonjour,
Ce code ci fonctionne :
Mais pas celui ci vu que j'utilise les \1 et \4 en dehors de mon expression régulières :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 if (($ok == 0)&($line =~ /(\w+_\w+_\w+[AIc])\d+([ab]) ([ATCG]+) versus (\w+_\w+_\w+[AIc])\d+([ab]) ([ATCG]+)$/i)) { if((!exists $h_rejected{$1})&(!exists $h_rejected{$4})) { $bacteria1 = $1; $type1 = $2; $adn1 = $3; $bacteria2 = $4; $type2 = $5; $adn2 = $6; $ok ++; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 if (($ok == 0)&($line =~ /(\w+_\w+_\w+[AIc])\d+([ab]) ([ATCG]+) versus (\w+_\w+_\w+[AIc])\d+([ab]) ([ATCG]+)$/i)&(!exists $h_rejected{\1})&(!exists $h_rejected{\4})) { $bacteria1 = $1; $type1 = $2; $adn1 = $3; $bacteria2 = $4; $type2 = $5; $adn2 = $6; $ok ++; }
Est-ce possible de regrouper les deux if sur une seule ligne?
Merci beaucoup,
Jasmine,
Partager