in reply to Re^3: Replacing substrings with links
in thread Replacing substrings with links

I tested my previous code with
my $h_orig = { '/a/b/c/dt/data/SUSE/tool/0.9.0' => '/a/b/c/dt/tools/SUSE/tool/0.9 +.0', '/nfs/us/tools/SUSE' => '/usr/bin', '/a/b/c' => '/p', '/p/dt' => '/nfs/us'};

Your code gives the same result for the input.

Update: Ordering is important. I have no idea what the expected output of

my $h_orig = { '/a' => '/b/c', '/b/c' => '/a', };
is.

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]

Replies are listed 'Best First'.
Re^5: Replacing substrings with links (updated)
by LanX (Saint) on Feb 06, 2022 at 17:23 UTC
    I think the results with this test case really depend on the randomization of the hash.

    (testing with hash order is tricky, I wonder if there is a general solution for that)

    update

    tho /p/dt is not a "absolute path" if /p is a link. 🤷🏽

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery