Faits: A. Du mois de mai au 18 août 2002, X._, enseignante née en 1948, a logé gratuitement chez elle et en partie nourri le ressortissant turc A._, né en 1982, qui séjournait illégalement en Suisse depuis février 2002. Le 24 août 2002, la police a dénoncé A._ pour entrée et séjour sans autorisation. Une décision de refoulement a été rendue à son encontre le 1er octobre 2002. Par ordonnance pénale du 25 octobre 2002, il a été condamné à quinze jours d'emprisonnement avec sursis durant quatre ans pour infraction à la loi fédérale sur le séjour et l'établissement des étrangers (LSEE; RS 142.20). Cette ordonnance a aussi révoqué le sursis qui lui avait été accordé le 2 août 2001 à une peine de dix jours d'emprisonnement en raison d'une infraction à la LSEE. X._ a connu A._ dans le cadre du "Collectif des sans-papiers", soit un mouvement de soutien aux dits "sans-papiers". Selon elle, A._ est probablement venu en Suisse pour chercher du travail. Elle ne sait pas précisément pourquoi il a quitté son pays ni ne lui a demandé s'il avait des papiers. Elle lui a proposé de venir loger chez elle lorsque le Centre réformé de Charmey, qui hébergeait des "sans-papiers", n'a plus été à disposition du Collectif. A._ n'avait alors pas trouvé de solution pour se loger. Elle s'inquiétait pour ce jeune homme de vingt ans, qu'elle sentait renfermé et fragile. Elle a prétendu avoir agi de manière émotionnelle, considérant A._ en danger physique et psychique s'il restait à la rue. Elle ne l'a pas aidé sur le plan financier. B. Par jugement du 16 juin 2003, le Juge de police de l'arrondissement de la Sarine a condamné X._, pour infraction à la LSEE (art. 23 al. 1 5ème phrase LSEE), à 300 francs d'amende, avec délai de radiation d'un an. Par arrêt du 16 mai 2004, la Cour d'appel pénal du Tribunal cantonal fribourgeois a rejeté l'appel formé par X._ et a confirmé le jugement de première instance. C. X._ se pourvoit en nullité au Tribunal fédéral contre cet arrêt. Elle conclut à son annulation. 