my @p = @_;
my $p = "";
ELT: for my $e (@p) {
- $e =~ s:^/{2,}:/:;
- $e =~ s,([^/])/+$,$1,;
+ $e =~ s#^/{2,}#/#;
+ $e =~ s#([^/])/+$#$1#;
if ($e eq "") { next ELT; }
- elsif ($p eq "" || $e =~ m,^/,) { $p = $e; }
+ elsif ($p eq "" || $e =~ m#^/#) { $p = $e; }
else { $p = "$p/$e"; }
}
return $p;
sub split_path ($) {
my ($path) = @_;
- my ($dir, $base, $ext) = $path =~ m,^(?:(.*)/)?(?:([^/]*)\.)?([^./]*)$,;
+ my ($dir, $base, $ext) = $path =~ m#^(?:(.*)/)?(?:([^/]*)\.)?([^./]*)$#;
if (defined $base) { $ext = ".$ext"; }
else { $base = $ext; $ext = ""; }
return ($dir, $base, $ext);
export qw{urlencode};
sub urlencode ($) {
my ($u) = @_;
- $u =~ s:([^0-9a-zA-Z_./~-]):sprintf "%%%02x", ord $1:eg;
+ $u =~ s#([^0-9a-zA-Z_./~-])#sprintf "%%%02x", ord $1#eg;
return $u;
}
export qw{urldecode};
sub urldecode ($) {
my ($u) = @_;
- $u =~ s:\%([0-9a-fA-F]{2}):chr hex $1:eg;
+ $u =~ s#\%([0-9a-fA-F]{2})#chr hex $1#eg;
return $u;
}
my ($indexp, $name, $c) = /(!\s+)?(\S+)\s*(\S|\S.*\S)?\s*$/;
$name = urldecode $name;
my $list;
- if ($name =~ m!/$!) {
+ if ($name =~ m#/$#) {
$list = \@d;
die "can't index a folder" if $indexp;
} else {
for (;;) {
my $stuff = contents "$top/$path/$name"; return $stuff if defined $stuff;
if ($path eq "") { return undef; }
- if ($path =~ m!^(.*)/[^/]+/?!) { $path = $1; }
+ if ($path =~ m#^(.*)/[^/]+/?#) { $path = $1; }
else { $path = ""; }
}
}