http://qs1969.pair.com?node_id=11124389


in reply to Re: source a file in Linux using perl script
in thread source a file in Linux using perl script

TIMTOWTDI:
#!/usr/bin/perl use POSIX; use String::ShellQuote qw(shell_quote); unless (defined $ENV{CTC_HOME}) { $ENV{DONT_LOOP_FOREVER}++ or die "infinite loop detected"; exec "source ~/.bash_profile && ".shell_quote($^X, $0, @ARGV); POSIX::_exit(255); } chdir($ENV{CTC_HOME}); ...

Though, I have to admit I prefer the simpler shell wrapper solution given by Corion.

Replies are listed 'Best First'.
Re^3: source a file in Linux using perl script
by Corion (Patriarch) on Nov 30, 2020 at 09:50 UTC

    I think the one drawback of re-executing yourself like that is that you lose Perl command line switches like -Ilib etc. ... There is Devel::PL_origargv, which gives you the original command line, but I'm not sure that I would want to go such an esoteric length when a shell script can do the same.