スマートというよりトリッキーだがPerlらしいやり方
$a = 'abc123'; $b = 'abc456';
chop $a until $b =~ /\A\Q$a/;
print $a;