in reply to Re^5: What script is this, and where is it? (Re: who am I?)
in thread who am I?

I just tried this code with an executable bound with PerlApp. The code as written works fine if the executable is called by "exename.exe". However, it dies if the executable is called by "exename".

Here's my ugly modification to your code. There's probably a nicer way to do it. Clean it up as you desire.

BEGIN { my $rel2abs = rel2abs $0; my $realpath = eval { realpath $rel2abs }; unless ( defined $realpath ) { warn "$rel2abs"; $rel2abs .= '.exe'; $realpath = realpath $rel2abs; } my $myname = $0 = $realpath; #my $myname = $0 = realpath rel2abs $0; my $mybase = basename $0, qw(.t .pm .pl .perl .exe); my $mydir = dirname $0; die 'chdir() used too early' unless -f $0; sub myname { $myname } sub mybase { $mybase } sub mydir { $mydir } }

Thanks for the useful code. ++!.


TGI says moo