Es gibt auch noch die Möglichkeit des "Quote Regex", also eines Regexobjekts... Das würde so funktionieren:
$regex = qr/@/
Damit weist du Perl an, in die Variable $regex einen Ausdruck zu speichern, der später als Regex wieder interpoliert werden kann.
Eine komplette Anweisung kannst du nicht als Regex speichern, das wäre, als wenn du "5 + 3" als String speicherst und hinterher 8 rausbekommen willst.
In deinem Beispiel (gesetzt den Fall, der Ersetzungsstring ist immer leer) sähe das dann so aus:
$ersetzt = s/$regex//g;
Übrigens kannst du den Ersetzungsstring als ganz normale Variable (ohne "qr") speichern, denn das ist ja so oder so nur ein String.
Hoffe, das hilft?!