Это не очень умно, но он делает то, что я думаю, вы спрашиваете:
use strict;
use warnings;
use Data::Dumper;
my $variable = '/home/jtym/abc/def/mng';
my $home_if_exists;
if($variable =~ /^$ENV{HOME}/) {
$variable =~ s/^$ENV{HOME}//;
$home_if_exists = $ENV{HOME};
}
$variable =~ s/\//SLASH/g;
$variable = $home_if_exists.$variable;
print Dumper($variable);
$ VAR1 = '/ home / jtymSLASHabcSLASHdefSLASHmng';