my @part = ( 'http://example.net/app' ); push @part, 'admin' if $is_admin_link; push @part, $subsite if defined $subsite; push @part, $mode; push @part, $id if defined $id; push @part, $submode if defined $submode; my $uri = join '/', @parts;