Los módulos File::Basename y File::Spec permiten el manejo de nombres de fichero de una manera portable. Veamos por ejemplo la función catfile :
lhp@nereida:~/Lperl/src/perl_networking/ch2$ perl -de 0
  DB<1> use File::Spec::Functions;
  DB<2> $x = catfile('a', 'b', 'c')
  DB<3> x $x
0  'a/b/c'
En un sistema windows $x contendría 'a\b\c'.
Para saber mas, lea con detalle la documentación 
de los módulos  File::Basename  y  File::Spec .
Usa para ello el comando man File::Basename o bien
perldoc File::Basename.
Sigue un ejemplo de uso de la función fileparse :
  DB<1> use File::Basename
  DB<2> @a = fileparse("/foo/bar/baz", qr/\.[^.]*/)
  DB<3> x @a
0  'baz'
1  '/foo/bar/'
2  ''
  DB<4> @a = fileparse("/foo/bar/baz.pm", qr/\.[^.]*/)
  DB<5> x @a
0  'baz'
1  '/foo/bar/'
2  '.pm'
Casiano Rodríguez León
