If I understand you correctly, something like this should do the trick:
my @flags = ();
while (<DATA>) {
push @flags, /(-D\S+)/g;
}
use Data::Dump qw(dump);
print dump(\@flags);
__DATA__
-D__c_plusplus=1 -D__cplusplus=1 \
-D__NAMESPACES -D__STANDARD_CXX \
-D__ghs -Dghs -D__SoftwareFloat \
-D__m68k -Dm68k -D__mc68000 \
-D__m68ec060 -Dm68ec060
__END__
Result:
[
"-D__c_plusplus=1",
"-D__cplusplus=1",
"-D__NAMESPACES",
"-D__STANDARD_CXX",
"-D__ghs",
"-Dghs",
"-D__SoftwareFloat",
"-D__m68k",
"-Dm68k",
"-D__mc68000",
"-D__m68ec060",
"-Dm68ec060",
]
It would help if your question was a little less vague and you provided some sample output :)
gav^ |