my $value = 'a=1&b=2&c=0';

$valueの中は常にこのフォーマットにしておきたいので、
$valueの中身が違うフォーマットだったら中身を削除するというスクリプトを書きたい。

フォーマットが異常かどうかの条件式を日本語でいうと。
1.区切りは&
2.サブ区切りは=
3.キーや値は[a-zA-Z\-]のみ許容

これをPerlで書くとどうなりますか?
$value =~ /^[a-zA-Z]*=[a-zA-Z](?:&[a-zA-Z]*=[a-zA-Z])*$/;

これでどうでしょう。穴があったら教えて下さい。それともっといい方法があるならお願いします。