Search code examples
perlunixkonsole

How to really see the contents of the different perl scripts linking to one file?


I wanted to view the contents of a perl script in our environment which is called dfv_run.pl and specifically check line 245. Line 245 from that script printed the message "Finished checking test result" in my simulation log file. After executing % which dfv_run.pl I am pointed to this location:

drwxr-xr-x 2 dfvmgr dfvadmin 4.0K Jun 22  2017 .SYNC
-r--r--r-- 1 dfvmgr dfvadmin 3.2K Jun 22  2017 loadenv.csh
-r-xr-xr-x 1 dfvmgr dfvadmin 5.2K Jun 22  2017 loadenv
drwxr-xr-x 4 dfvmgr dfvadmin 4.0K Jun 22  2017 ..
drwxr-xr-x 3 dfvmgr dfvadmin 4.0K Jun 22  2017 .
lrwxrwxrwx 1 dfvmgr dfvadmin    7 Jun 22  2017 dfv_comp.pl -> loadenv
lrwxrwxrwx 1 dfvmgr dfvadmin    7 Jun 22  2017 dfv_run.pl -> loadenv
lrwxrwxrwx 1 dfvmgr dfvadmin    7 Jun 22  2017 dfv_sim.pl -> loadenv
/tools/dfv/scripts/v11/bin

However the script is only less than 200 lines and I can see the same content for dfv_comp.pl, dfv_run.pl, and dfv_sim.pl (also diff did not show any difference among the 3 perl scripts). loadenv of course also showed me the same contents.

Any help as to how I can view the real content of each perl script is much appreciated. Additional info which might help:

SHELL=/bin/tcsh
KONSOLE_DBUS_SERVICE=:1.46
KONSOLE_DBUS_WINDOW=/Windows/17
KONSOLE_DBUS_SESSION=/Sessions/30

Kindly let me know if additional info is needed. Thank you in advance!


Solution

  • What you're seeing is the real content. All three *.pl filenames are aliases to the loadenv script - that one script handles all four commands.

    If you look at the contents of loadenv (or any of the other three names), you will most likely see that it checks to see which name was used to invoke it and then sets some flags which will cause it to behave differently depending on which name was used.