Yep I did really want FindBin, as I did not know the possible problems with $0,
-----Original Message----- From: NYIMI Jose (BMB) [mailto:[EMAIL PROTECTED]] Sent: 21 January 2003 10:13 To: Brian Ling; Mark Goland Cc: perl Subject: RE: Path to script > -----Original Message----- > From: Brian Ling [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, January 21, 2003 10:59 AM > To: NYIMI Jose (BMB); Mark Goland > Cc: perl > Subject: RE: Path to script > > > Thanks for that, > > I'll go with the File::Basename option as I may need to > change the 'pwd' by the time the call is made. Be aware that $0 doesn't always contains the full path of your script Example: myhost:> ./myscript.pl Running a script with above command line, $0 will be ./myscript.pl So File::Basename will no longer help. So I suggest you using FindBin module instead: C:\>perldoc FindBin NAME FindBin - Locate directory of original perl script SYNOPSIS use FindBin; use lib "$FindBin::Bin/../lib"; or use FindBin qw($Bin); use lib "$Bin/../lib"; DESCRIPTION Locates the full path to the script bin directory to allow the use of paths relative to the bin directory. This allows a user to setup a directory tree for some software with directories <root>/bin and <root>/lib and then the above example will allow the use of modules in the lib directory without knowing where the software tree is installed. If perl is invoked using the -e option or the perl script is read from "STDIN" then FindBin sets both "$Bin" and "$RealBin" to the current directory. EXPORTABLE VARIABLES $Bin - path to bin directory from where script was invoked $Script - basename of script from which perl was invoked $RealBin - $Bin with all links resolved $RealScript - $Script with all links resolved KNOWN BUGS if perl is invoked as perl filename and *filename* does not have executable rights and a program called *filename* exists in the users "$ENV{PATH}" which satisfies both -x and -T then FindBin assumes that it was invoked via the "$ENV{PATH}". Workaround is to invoke perl as perl ./filename AUTHORS FindBin is supported as part of the core perl distribution. Please send bug reports to <[EMAIL PROTECTED]> using the perlbug program included with perl. Graham Barr <[EMAIL PROTECTED]> Nick Ing-Simmons <[EMAIL PROTECTED]> COPYRIGHT Copyright (c) 1995 Graham Barr & Nick Ing-Simmons. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. > > Brian > > -----Original Message----- > From: NYIMI Jose (BMB) [mailto:[EMAIL PROTECTED]] > Sent: 21 January 2003 09:48 > To: Mark Goland; Brian Ling > Cc: perl > Subject: RE: Path to script > > > Have a look to : > > http://search.cpan.org/author/LIBERTY/Cwd-2.06/Cwd.pm > > José. > > > > -----Original Message----- > > From: Mark Goland [mailto:[EMAIL PROTECTED]] > > Sent: Tuesday, January 21, 2003 10:42 AM > > To: Brian Ling > > Cc: perl > > Subject: Re: Path to script > > > > > > my $path=`pwd` on *nix > > my $path=`cd` on win* > > > > ----- Original Message ----- > > From: "Brian Ling" <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Tuesday, January 21, 2003 4:25 AM > > Subject: Path to script > > > > > > > Hi all, > > > > > > I have the following bit of code that works out the > > directory path to > > > the currently executing script. > > > > > > My $path = $0; > > > $path =~ s#(^/.+/).+$#$1# ; > > > > > > This works but doesn't make me happy, is there a better way? > > > > > > Thanks > > > > > > Brian > > > > > > > > > > > > BBCi at http://www.bbc.co.uk/ > > > > > > This e-mail (and any attachments) is confidential and may contain > > > personal views which are not the views of the BBC unless > > specifically > > > stated. > > > If you have received it in error, please delete it from > > your system, do > > > not use, copy or disclose the information in any way nor act in > > > reliance on it and notify the sender immediately. Please > > note that the > > > BBC monitors e-mails sent or received. Further communication will > > > signify your consent to this. > > > > > > > > > > -- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > **** DISCLAIMER **** > > "This e-mail and any attachment thereto may contain > information which is confidential and/or protected by > intellectual property rights and are intended for the sole > use of the recipient(s) named above. > Any use of the information contained herein (including, but > not limited to, total or partial reproduction, communication > or distribution in any form) by other persons than the > designated recipient(s) is prohibited. > If you have received this e-mail in error, please notify the > sender either by telephone or by e-mail and delete the > material from any computer". > > Thank you for your cooperation. > > For further information about Proximus mobile phone services > please see our website at http://www.proximus.be or refer to > any Proximus agent. > > > > BBCi at http://www.bbc.co.uk/ > > This e-mail (and any attachments) is confidential and may contain > personal views which are not the views of the BBC unless specifically > stated. > If you have received it in error, please delete it from your > system, do > not use, copy or disclose the information in any way nor act in > reliance on it and notify the sender immediately. Please note > that the > BBC monitors e-mails sent or received. Further communication will > signify your consent to this. > > BBCi at http://www.bbc.co.uk/ This e-mail (and any attachments) is confidential and may contain personal views which are not the views of the BBC unless specifically stated. If you have received it in error, please delete it from your system, do not use, copy or disclose the information in any way nor act in reliance on it and notify the sender immediately. Please note that the BBC monitors e-mails sent or received. Further communication will signify your consent to this. -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]