正規表現の最短マッチについての質問です。
フォルダの中にあるテキストファイルの「拡張子を除いたファイル名」を取得したいのですが、
階層の部分まで拾ってきてしまいます。

例
my $place="/test/1234.txt";   #この例では「1234」を抽出したい
$place=~ m|/(.*?)\.txt$|;      #最短マッチで/(1234).txt 括弧部分を取得
my $name=$1;            
print $name;

ところが出力結果は「test/1234」となってしまいます。
正しくファイル名だけを抽出するためには、どのように記述したら良いのでしょうか。
ご存知の方、どうかよろしくお願いします。

簡易検証用コピペ
perl -e '$i="/test/1234.txt"; $i=~ m|/(.*?)\.txt$|; $j=$1; print $j;'