Looking at the first line of each of your file, your machine has the form "aagdbp01.mydomain.it" and your hostname the form "aagdbp01". It seems that hostname =~ m/machine/ is never going to match. So your are done with your work, the output file should simply be file1.
Or perhaps you want something like this: $machine =~ m/$hostname/. BTW, the full truth is that hostname =~ m/machine/ will actually never be executed, because (besides the defective syntax) (string1 OR string2) =~ m/subsytem/ will probably always be false for basically the same reason (if I can make sense of your data).