use Win32::OLE; Create new instance of Excel Open target file read-only for (1..$wb->Sheets->count){ for ($sht->Hyperlinks->Count; 1; -1) { if ($hl->Range ne $hl->Address) { Do something interesting } $hl->Delete $wb->SaveAs(TempFile) $wb->Close; Open Tempfile } }