Two things. First, use Win32::OLE::Const to import the excel constants. Second, PasteSpecial is a method, not a property. The code below should work (yes it has been tested).
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Excel';
$excel = Win32::OLE->new ("Excel.Application") || die "CreateObject :
+$!\n";
$excel -> {Visible}=1;
$excelfile2 = $excel -> Workbooks -> Open("c:\\sheetA.xls");
$excelfile = $excel -> Workbooks -> Open("c:\\sheetB.xls");
$xls4 = $excelfile -> Worksheets(1);
$xls5 = $excelfile2 -> Worksheets(1);
$xls5 -> Range ("H58:H105") -> Copy;
$xls4 -> Cells (9, 15) -> PasteSpecial (xlPasteValues);
$xls4 -> Cells (9, 14) -> Select;
If you have any additional questions, feel free to ask.