questo
$file =/Prova.txt/;

deve essere scritto così
$file =~ /Prova.txt/;

$record .= " - $&";
#ho provato a togliere il punto davanti all'uguale ma niente; poi una domanda: cosa vuol dire quello dopo l'uguale?

significa aggiungi (.=) alla stringa $record uno spazio poi un trattino poi la stringa matchata prima ovvero l'IP.