Primero, para trabajar con particiones, ya sabes que tienes que hacerlo con el usuario root.
Luego, es mucho más cómodo usar los comandos propios del sistema para manejar las particiones, aunque si quieres automatizar algunas tareas Perl te puede ayudar muchísimo.
Esta es la lista de comandos que yo suelo utilizar:
fdisk -lu /dev/hda # Esto me da el listado de particiones del disco hda
mount ... # Montaje de particiones. Debo indicar partición, punto de montaje y tipo de partición
umount ... # Desmontaje
mkfs ... # Peligrosísimo comando que crea un nuevo sistema de ficheros en una partición
fsck ... # Chequea la consistencia de un sistema de ficheros
cp -uva ... ... # Sistema de copia de ficheros de una partición a otra, respetando todos los atributos
Sabiendo esto, puedes llamar a estos comandos como te ha indicado kidd.
Para obtener la salida de uno de estos comandos a una variable, por ejemplo, se puede hacer de estas formas:
- Código: Seleccionar todo
$x = qx(fdisk -lu /dev/sdb);
$x = `fdisk -lu /dev/sdb`;
Si no quieres capturar la salida y sólo te interesa ejecutar el comando y como mucho recibir el estado de la ejecución, te vale con usar la función
system.