Bienvenido a los foros de Perl en Español.
Perl no se debe utilizar para realizar esas mediciones, pues hay que recordar que Perl corre sobre una máquina virtual, como Java, y seguro que tampoco querrás usar Java para medir el benchmark de un disco. Lo harás en C o C++ ya que eso generará unas llamadas al sistema y unas mediciones de tiempos más precisas.
La forma más profesional de hacerlo en Perl sería haciendo un módulo XS en C y luego agregarlo como un módulo externo al programa Perl. O usar el módulo Inline::C.
De cualquier forma, hacer algo portable es muy complicado. El número de sistemas informáticos distintos es enorme.
Incluso si se te ocurriera hacer un benchmark de a ver cuánto tiempo se tarda en escribir un fichero de 60Mb a disco... ¿cómo sabes que realmente /dev/sdc es un disco del sistema? ¿Y si es una memoria USB? Bueno, vale, sólo queremos medir la velocidad del dispositivo. Si sólo se trata de hacer mediciones no estamos hablando de benchmark propiamente, si no más bien de profiling. Bueno, es casi lo mismo. Pero no. Con benchmark se trata de sacar unas mediciones para compararlas con otros sistemas, mientras que con profiling intentamos averiguar las partes más lentas de un programa para luego intentar mejorarlo.
Con el módulo Benchmark no podrás medir tiempos como los que cuentas. Desconozco si existe un módulo así, pero repito, no creo que exista. El uso del módulo se explica con su sinopsis. Puedes probar a grabar o leer un fichero de varias formas distintas (con varios
read de distinto tamaño) y comparar el tiempo que han tardado).
El último benchmark entre Linux y Windows en este foro.