Thanks for asking, Dave.
The issue here is, that my script is not running in the directory where the target is. Currently the linking looks something like this
my $newname="/home/script/data/archive/currentfile";
my $targetfile="/home/script/data/archive/infofile-2019-12-16";
symlink $targetfile, $newname;
In order for the link to become relative I think I will have to do a chdir to the directory of $newname and make the path of $targetfile be relative to that.
As both are in my case, in the same directory, the relative-path part is easy, but would it be different directories, it would be a bit more complicated.
As the script is not running in the /home/script/data/archive directory, I think for symlink to create a working relative link, I need to do a chdir first. But then I need to change directory back as well.
As the ln command has a "make a relative link" option, I thought there might be something available in perl as well. So in order not to reinvent the wheel, I'm asking…
s$$([},&%#}/&/]+}%&{})*;#$&&s&&$^X.($'^"%]=\&(|?*{%
+.+=%;.#_}\&"^"-+%*).}%:##%}={~=~:.")&e&&s""`$''`"e
|