For all integers \(n \ge k > d \ge 1\) , let \(m_{d}(k,n)\) be the minimum integer \(D \ge 0\) such that every k-uniform n-vertex hypergraph \({\mathcal {H}}\) with minimum d-degree \(\delta _{d}({\mathcal {H}})\) at least D has an optimal matching. For every fixed integer \(k \ge 3\) , we show that for \(n \in k \mathbb {N}\) and \(p = \Omega (n^{-k+1} \log n)\) , if \({\mathcal {H}}\) is an n-vertex k-uniform hypergraph with \(\delta _{k-1}({\mathcal {H}}) \ge m_{k-1}(k,n)\) , then a.a.s. its p-random subhypergraph \({\mathcal {H}}_p\) contains a perfect matching. Moreover, for every fixed integer \(d < k\) and \(\gamma > 0\) , we show that the same conclusion holds if \({\mathcal {H}}\) is an n-vertex k-uniform hypergraph with \(\delta _d({\mathcal {H}}) \ge m_{d}(k,n) + \gamma \left( {\begin{array}{c}n - d\\ k - d\end{array}}\right) \) . Both of these results strengthen Johansson, Kahn, and Vu’s seminal solution to Shamir’s problem and can be viewed as “robust” versions of hypergraph Dirac-type results. In addition, we also show that in both cases above, \({\mathcal {H}}\) has at least \(\exp ((1-1/k)n \log n - \Theta (n))\) many perfect matchings, which is best possible up to an \(\exp (\Theta (n))\) factor.