Zero_Flop is right about the macros. If, however, you can't convert it you can always (as a possible last resort) create the macro in Word and then run it with a Perl command.
Create and name the macro in word
Declare it at the top of your code package MACRO-NAME;
When you need the action from the macro, you call it in perl like this:
$Word->Documents->Open("$dir\\$file") or die "Can't open ", Win32::OLE
+->LastError());
$Word->Run("MACRO-NAME");