Sous Unix, c'est toujours le shell qui interprète les méta carctères "*", "?", , etc. Il faut donc faire appel à un shell, par exemple en utilisant
`mv * $targetDir`
avec des backquotes.
-- Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?
Jedaï
Emmanuel Florac wrote:
Dans article , disait...
Que fait dans ce cas un pro du perl ?
Sous Unix, c'est toujours le shell qui interprète les méta carctères "*", "?", , etc. Il faut donc faire appel à un shell, par exemple en utilisant
`mv * $targetDir`
avec des backquotes.
Pour être complet : tant que tu utilise system ou exec avec un seul argument, Perl délègue l'exécution au shell local, mais si tu utilise plusieurs arguments, Perl exécute directement ces commandes, sans utiliser le shell, d'où le fait que les méta-caractères ne soit pas interprétés.
-- Jedaï
Emmanuel Florac wrote:
Dans article <adjudant.tassin-F3D61F.18045006092003@news4-2.free.fr>,
adjudant.tassin@laposte.net disait...
Que fait dans ce cas un pro du perl ?
Sous Unix, c'est toujours le shell qui interprète les méta carctères "*",
"?", , etc. Il faut donc faire appel à un shell, par exemple en
utilisant
`mv * $targetDir`
avec des backquotes.
Pour être complet :
tant que tu utilise system ou exec avec un seul argument, Perl délègue
l'exécution au shell local, mais si tu utilise plusieurs arguments, Perl
exécute directement ces commandes, sans utiliser le shell, d'où le fait
que les méta-caractères ne soit pas interprétés.
Sous Unix, c'est toujours le shell qui interprète les méta carctères "*", "?", , etc. Il faut donc faire appel à un shell, par exemple en utilisant
`mv * $targetDir`
avec des backquotes.
Pour être complet : tant que tu utilise system ou exec avec un seul argument, Perl délègue l'exécution au shell local, mais si tu utilise plusieurs arguments, Perl exécute directement ces commandes, sans utiliser le shell, d'où le fait que les méta-caractères ne soit pas interprétés.