Lors de l'écriture des scripts Perl, la plupart de ceux qui viennent du monde du système d'administration ou de celui de l'écriture de scripts Unix ou Linux vont essayer de continuer à utiliser les commandes Unix normales rm, cp et mv en les appelant soit entre les guillemets obliques inversés soit avec la fonction prédéfinie system.

Cette technique fonctionne sur la plateforme qu'ils utilisent, mais fait perdre l'un des principaux avantages que Perl a apporté au monde de l'administration du système Unix. Voyons comment nous pouvons exécuter ces opérations avec Perl d'une manière indépendante de la plateforme, et sans passer par un programme shell.

Supprimer

Le nom de la fonction prédéfinie en Perl est unlink.

Cette fonction supprime un ou plusieurs fichiers du système de fichiers. Elle est similaire à la commande rm sous Unix et à la commande del sous DOS/Windows.

unlink $fichier;
unlink @fichiers;

Elle utilise $_, la variable par défaut de Perl, si aucun paramètre n'est donné.

Pour une documentation complète, voir perldoc -f unlink.

Renommer

Le nom de la fonction prédéfinie en Perl est rename.

Cette fonction renomme ou déplace un fichier. Elle est similaire à la commande mv sous Unix et à la commande rename sous DOS/Windows.

rename $old_name, $new_name;

Comme cela ne fonctionne pas dans tous les systèmes de fichiers, la solution recommandée est la fonction move du module File::Copy :

use File::Copy qw(move);

move $old_name, $new_name;

Pour une documentation complète, voir :

perldoc -f rename.

perldoc File::Copy.

Copier

Il n'existe pas de fonction prédéfinie copy dans le noyau de perl. La méthode standard pour copier un fichier est d'utiliser la fonction copy du module File::Copy.

Ceci est similaire à la commande cp sous Unix et à la commande copy de DOS/Windows.

use File::Copy qw(copy);

copy $old_file, $new_file;

Pour une documentation complète, voir perldoc File::Copy.