$s = (split /./s, $s, 2)[1] err ""; # Needs 'defined-or' patch, or 5.9.1 $s = (split /./s, $s, 2)[1]; $s = "" unless defined $s; $s = length $s ? (split /./s, $s, 2)[1] : ""; $s = join "", map {substr $s, $_, 1} grep {$_} 0 .. length($s)-1; substr $s, $_, 1, $_ ? substr($s, $_, 1) : "" for 0 .. length($s)-1; local $a = 0; $s = join "", grep {$a++} split //, $s; local $" = ""; $s = "@{[(split //, $s)[1 .. length($s)-1]]} $s =~ s/(?