in reply to Environment Var Problem

BEGIN { my $self = $0; # or hardcode it, depending upon need if ( $ENV{'LD_LIBRARY_PATH'} !~ m|/path/you/want| ) { $ENV{'LD_LIBRARY_PATH'} = "/path/you/want:$ENV{LD_LIBRARY_PATH}" +; exec $self, @ARGV; } } use DBI;

The intelligent reader will judge for himself. Without examining the facts fully and fairly, there is no way of knowing whether vox populi is really vox dei, or merely vox asinorum. — Cyrus H. Gordon

Replies are listed 'Best First'.
Re^2: Environment Var Problem
by Anonymous Monk on May 09, 2006 at 18:06 UTC
    That's interesting! How does it get past the exec statement? In other words, what prevents the process from getting stuck in a loop?

      It checks if the new path is in LD_LIBRARY_PATH before running itself again. Once the new path is there, it doesn't run itself anymore, breaking the loop.

        It works, but I didn't get the stdout from a print statement inserted before the exec.

        Slimey, but satisfying.

        Thanks for the help.