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 From 70db9ac456c0dd722354e93af0eec0fda0e58afc Mon Sep 17 00:00:00 2001 From: Dimitar Dimitrov Date: Thu, 13 May 2021 11:02:26 +0100 Subject: END --- challenge-112/kurkale6ka/perl/ch-1.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/challenge-112/kurkale6ka/perl/ch-1.pl b/challenge-112/kurkale6ka/perl/ch-1.pl index c94eb15658..db35dea061 100644 --- a/challenge-112/kurkale6ka/perl/ch-1.pl +++ b/challenge-112/kurkale6ka/perl/ch-1.pl @@ -20,7 +20,7 @@ s#/\.?(?=(/|$))##gn; say $_||'/' -__DATA__ +__END__ Human readable version without regexes -- cgit