adesso non so bene come funzionano le espressioni regolari in PHP, però lo standard vuole che il $ sia il carattere che identifica il finelinea (senza però considerarlo).
Ora nel caso PHP il problema secondo me non è proprio banale perchè
1. In PHP il $ identifica le variabili
2. Nelle espressioni regolari identifica il fine linea
Nel primo caso credo basti \\$ nel secondo caso ne servono altre due perchè il primo è l\'escape di php e il secondo è l\'escape delle espressioni regolari quindi prova con
\\\\\\$
Un errore è anche dovuto al \'.\' per identificare 0-n caratteri diversi da \'\\n\' devi usare \".*\" (lo standard vuole questo, ma in php non ho mai usato le regexp quindi non so se usa qualche convenzione strana), il . indica un solo carattere qualsiasi (non identifica ne \"$caoisodi\" ne \"$\", ma solo \"$a\",\"$b\",..)
$fg = file($file);
for($i=0;$i if(eregi(\"^\\\\\\$.*\",$fg[$i]))
echo $i;
}
Questo dovrebbe funzionare.