From d7579fae3c96c131c5e589291c31418b215e792c Mon Sep 17 00:00:00 2001 From: Dimitar Dimitrov Date: Thu, 13 May 2021 10:48:02 +0100 Subject: Add human readable version --- challenge-112/kurkale6ka/perl/ch-1.pl | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/challenge-112/kurkale6ka/perl/ch-1.pl b/challenge-112/kurkale6ka/perl/ch-1.pl index 9e5d37f74d..c94eb15658 100644 --- a/challenge-112/kurkale6ka/perl/ch-1.pl +++ b/challenge-112/kurkale6ka/perl/ch-1.pl @@ -19,3 +19,25 @@ s#/\.?(?=(/|$))##gn; # { redo if s#/([^/]+/)?\Q..##n } say $_||'/' + +__DATA__ + +Human readable version without regexes + +# one-liner: +# -E'for(split/\//,pop){/^\.$/&&next;if(/^\.\.$/){pop@path}else{push@path,$_ if length}}say"/",join"/",@path' + +my @path; + +foreach (split m#/#, shift) +{ + next if $_ eq '.'; + + if ($_ eq '..') { + pop @path; + } else { + push @path, $_ if length; + } +} + +say '/', join '/', @path; -- cgit