my @part = ( 'http://example.net/app', ( 'admin' ? $is_admin_link : () ), ( defined $subsite ? $subsite : () ), $mode, ( defined $id ? $id : () ), ( defined $submode ? $submode : () ), ); my $uri = join '/', @part; #### my @part = map defined $_->[-1] ? $_->[0] : (), ['http://example.net/app' => 1], ['admin' => $is_admin_link], [$subsite], [$mode => 1], [$id], [$submode]; #### my @part = map +(ref) ? (defined $_->[-1] ? $_->[0] : ()) : $_, 'http://example.net/app', ['admin' => $is_admin_link], [$subsite], $mode, [$id], [$submode];