in reply to
Re^2: use lib statement with path variable
in thread use lib statement with path variable
There are two problems there. qw takes each blank characters separated elements in its operand (most often, words separated by spaces) and reads them in a simple quotish context. Put a simpler way, qw(A $b C %h); could also be written ('A', '$b', 'C', '%h'). In Ruby there is a qw-like construct that allows double-quotish interpretation, but this is Perl. So you instead have to write use lib ("$some_path/lib",); (the comma is optional, I just always put an extra comma in a single element list).
The second issue is that use is called straightaway, so you could say that perl reads your program :
there is a global variable called $some_path
add to path $some_path/lib
$some_path = dirname(File::Spec->rel2abs(__FILE__));
This is of course really simplified.
The BEGIN keyword means that a block has to be executed during compile time, and not to wait after compilation completion. You should write:
$some_path = "/my/path";
use lib "$some_path/lib"; # Yeah, you don't even need the parenthesis,
+ Perl is clever enough for you
# Edit : thanks dave_the_m for the correction