perl ファイルの削除時にY/Nで確認する

#ファイル名を引数として受け取り、ファイルの有無を確認した後、
# 「<ファイル名>を削除しますか?(Y/N):」というメッセージを出して、Yが押された時のみファイルを削除するスクリプト

#ファイルの削除時に確認する
#remove_ask.pl

$filename = $ARGV[0];

if(-f $filename){
    while(){
        print "$filenameを削除しますか?(Y/N):";
        $answer = <STDIN>;
        chomp($answer);

        if($answer eq 'Y'){
            unlink($filename) or die "$filenameは削除できませんでした:$!\n";
            last;
        }elsif($answer eq 'N'){
            last;
        }else{
            print "無効な値が入力されました。\n";
        }
    }
}else{
    print "$filenameは存在しません。\n";
}


#実行結果
# $ perl remove_ask.pl  output.txt
# output.txtを削除しますか?(Y/N):y
# 無効な値が入力されました。
# output.txtを削除しますか?(Y/N):n
# 無効な値が入力されました。
# output.txtを削除しますか?(Y/N):Y

初めてのPerl 第6版

初めてのPerl 第6版