Perhaps, you should check first if your script runs the pure Perl implementation which is pretty slow.
A first indicationt that you are running the pure Perl version would be that the following script outputs a proper version number:
$PATH_TO_YOUR_PERL_BIN/perl -MDigest::MD5 -e 'print "MD5 PP ver. = $Di
If it outputs no version number, you're likely running the XS version that is a wrapper to a fast C implementation.
Update: Perhaps, you can achieve the same effect using rsync? Seems, it can operate on --devices too.
This option causes rsync to transfer character and block device files to the remote system to recreate these devices. ...