NAME
    FindBin::Real - Locate directory of original perl script

SYNOPSIS
     use FindBin::Real;
     use lib FindBin::Real::Bin() . '/../lib';

     or

     use FindBin::Real qw(Bin);
     use lib Bin() . '/../lib';

     or

     # Run from /usr/bin/www/some/path/ or /usr/bin/www/some/other/path or any
     use FindBin::Real qw(BinDepth);
     use lib BinDepth(3) . '/lib';
     # And always got /usr/bin/www/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()" return values to
    the current directory.

EXPORTABLE FUNCTIONS
  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

  BinDepth(n)
    - path to n-level parent directory

  Dir()
    - the same as Bin()

  RealDir()
    - the same as RealBin()

KNOWN ISSUES
    If there are two modules using "FindBin::Real" from different
    directories under the same interpreter, this WOULD work. Since
    "FindBin::Real" uses functions instead of "BEGIN" block in "FindBin",
    it'll be executed on every script, and all callers will get it right.
    This module can be used under mod_perl and other persistent Perl
    environments, where you shouldn't use "FindBin".

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
    Serguei Trouchelle <stro@railways.dp.ua>

    FindBin::Real uses code from FindBin module, which was written by

    Graham Barr <gbarr@pobox.com> Nick Ing-Simmons <nik@tiuk.ti.com>

COPYRIGHT
    Copyright (c) 1995 Graham Barr & Nick Ing-Simmons. All rights reserved.
    Copyright (c) 2003-2005 Serguei Trouchelle. All rights reserved.

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

