in reply to How to manage correctly a (Tk) application startup?

You could use chdir in combination with FindBin to switch to the application directory early on; then it doesn't matter where they start it from.

package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name