もつ
my $path = "//strange/path/";
(1つの)先頭のスラッシュ=を含む最初の要素を取得する必要があります。または、$ pathが空であるか、スラッシュのみが含まれている場合のみです/strange
。/
現在、2つの解決策があります。例:
use 5.014;
use warnings;
use File::Spec;
my $path = "//strange/path/";
#version with File::Spec
my $v1 = "/" . ([grep {/./} File::Spec->splitdir($path)]->[0] // "");
say $v1;
#regex
my $v2 = $path;
$v2 =~ s{^/*}{};
$v2 =~ s{/.*}{};
$v2 =~ s{^}{/};
say $v2;
1.stはモジュールを使用し、2番目の3つの正規表現は単純に醜いので、私はそれらのどれも好きではありません。
より効果的に存在する|| 最速|| 「より良い」方法?