# "-o /usr/local/bin/dcraw -O4" needs to be a separated list: my @args= ("gcc","-o", "/usr/local/bin/dcraw","-O4","/Users/landry/Desktop/dcraw.c","-I/usr/local/include", "-L/usr/local/lib","-lm","-ljasper","-ljpeg", "-llcms2"); system(@args) == 0 or die "Couldn't launch [@args]: $? / $!";