[Perl]Hoe krijg ik de "path" uit een filename? => zoals $0?

Pagina: 1
Acties:

  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 09-05 11:54
Hoe krijg ik de "path" uit een filename? => zoals $0?

Voor de info ... ik zit op een Linux 7.3 machine, maar dat zou niet zoveel uit moeten maken ... ?
Iemand een idee?

Kheb het nodig in een scriptje om even naar de betreffende directory te verhuizen waar een ander scriptje staat om uit te voeren. Ik kan ook kiezen om dat andere scriptje te voorzien van een mooiere path naar die file, das ook een optie. Maar hoe pak ik dat dan aan?
Ik moet er ook een beetje aan denken dat die files in een ander dir. komen als dan het standaard wordt geinstalleerd (dus kan het er niet echt rap ervoor gooien ;))

kzit een beetje vast dus. :+

I've visited the Mothership @ Cupertino


  • oVRoM
  • Registratie: Juli 2000
  • Niet online
Met het 'basename' commando kan het. Geef je
code:
1
basename /usr/local/bin/perl

Krijg je
code:
1
perl

terug. Das wel een system commando. Je kunt het natuurlijk ook met een regexp doen, das wel zo Perl ;)

  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 09-05 11:54
oVRoM schreef op 12 maart 2004 @ 11:36:
Met het 'basename' commando kan het. Geef je
code:
1
basename /usr/local/bin/perl

Krijg je
code:
1
perl

terug. Das wel een system commando. Je kunt het natuurlijk ook met een regexp doen, das wel zo Perl ;)
Funky ;)
Maar ik wou het juist andersom ... dus ... dat ik het path krijg en niet de basename ;)

I've visited the Mothership @ Cupertino


  • riddles
  • Registratie: April 2000
  • Laatst online: 13-05 15:00
Met Google:
code:
1
2
use File::Basename;
my ($file, $path) = fileparse("/path/to/my/directory/file.log");

  • VisionMaster
  • Registratie: Juni 2001
  • Laatst online: 09-05 11:54
riddles schreef op 12 maart 2004 @ 12:03:
Met Google:
code:
1
2
use File::Basename;
my ($file, $path) = fileparse("/path/to/my/directory/file.log");
Woo thanks ... zoiets moest in Perl wel er simpel uit zien ... dit is perfect.

offtopic:
Ik heb niet echt de juiste keywords gebruikt dan ...

[ Voor 14% gewijzigd door VisionMaster op 12-03-2004 12:11 ]

I've visited the Mothership @ Cupertino


  • oVRoM
  • Registratie: Juli 2000
  • Niet online
VisionMaster schreef op 12 maart 2004 @ 11:59:
[...]

Funky ;)
Maar ik wou het juist andersom ... dus ... dat ik het path krijg en niet de basename ;)
Weet dat de oplossing al is gepost, maar voor de volledigheid, daarvoor heb je 'dirname' :)
code:
1
dirname /usr/local/bin/perl

geeft
code:
1
/usr/local/bin

terug :)
Pagina: 1