Claro, porque en $dirComplete estás usando barras diagonales normales ('/'), mientras que la expresión regular está esperando barras diagonales invertidas ('\'), porque es lo que habías mostrado en el primer mensaje de este hilo.
Prueba con esta:
Using perl Syntax Highlighting
my($ID, $out) = $dirData =~ m{/ID
-(\d+)/(.+?)_
};Coloreado en 0.003 segundos, usando
GeSHi 1.0.8.4
O, si no sabes si vas a usar un estilo u otro:
Using perl Syntax Highlighting
my($ID, $out) = $cadena =~ m{[/\\
]ID
-(\d+)[/\\
](.+?)_
};Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4