Is either of these working? Your system calls aren't transparent to me, so I can't tell. In the first script, it looks like you're trying to print to a filename instead of a handle, but that may just be a typo omitting a dot op.
To combine them, it looks like you can just merge the files by appending the second to the first. use strict; and use warnings; to help spot minor errors brought about by the merge.
I'll mention some style points. I prefer glob to angle brackets over the glob expression because that makes the intent stand out with less visual confusion. Even in windows, perl understands unix directory seperators. You don't need to put the glob list into a variable, for can work on it directly;
for my $file (glob 'C:/orant/FORMS60/forms/forms_up/*.fmb') {
# do stuff
}
It would be useful to check $@ for system call errors after each. That would probably tell you more about your problem than I can.