I was little bit surprise because mkdir -p dmd-2/usr/{bin,lib,src/phobos2,share/man do the right thing.
But if i make mkdir -p "dmd-2/usr/{bin,lib,src/phobos2,share/man" it's wrong. So i have think the system command wrap quotes about the command. Perl have the same behaviour. Thank you for your answer. Steven Schveighoffer Wrote: > On Thu, 18 Mar 2010 06:25:20 -0400, noboy <nob...@nowhere.com> wrote: > > > Hello, > > > > import std.stdio; > > import std.process; > > import std.string; > > > > > > void main() { > > string debPackage="dmd-2"; > > int dmdVersion=2; > > auto path = > > format("%s/usr/{bin,lib,src/phobos%d,share/man}",debPackage,dmdVersion); > > system("mkdir -p " ~ path); > > } > > > > > > The result: > > dmd-2/usr/{bin,lib,src > > > > it should be > > dmd-2/usr/bin > > dmd-2/usr/lib > > dmd-2/usr/src > > > > Kubuntu 8.0.4 > > The system function calls the libc system function. If you don't like the > behavior, complain to the developers of libc for Kubuntu. > > If system is behaving differently under C, then that might be D's problem, > but I can't tell if that's the case from your example. > > -Steve