8
votes

À Perl, comment puis-je écrire la sortie du Dumper dans un fichier?

Comment puis-je faire Data :: Dumper écrire une vidage dans un fichier?


3 commentaires

Dumper () Sortie simplement une chaîne, utilisez-la comme une autre chaîne allant dans un fichier (voir ci-dessous).


J'ai une valeur de dépotoir énorme, j'ai donc besoin de garder cela dans le fichier et de regarder.


@Jack je suis d'accord avec votre point


3 Réponses :


25
votes

N'oubliez pas que vous pouvez spécifier la poignée de fichier à imprimer à comme dans xxx

ou utilisez fichier :: slurp : xxx

Vous voudrez peut-être aborder l'habitude d'utiliser: xxx

et rediriger l'erreur standard dans un fichier lorsque vous appelez votre script (comment cela dépend de la coquille). Par exemple: xxx


4 commentaires

Je suis curieux: quel avantage le fichier :: offre SLURP ici?


Si tout ce que je veux, c'est de vider une structure de données complexe à un fichier à des fins de débogage, il est plus autonome que OUVERT / IMPRESSION / FERMER: Pas de gestiers ou de messages d'erreur pour gâcher.


@ Sinanünür Comment $ Log censé être utilisé. Devrait-il s'agir de journal sur un fichier ouvert ($ journal, '>', 'file.txt');


@Patz $ journal est une poignée de fichier, comme je l'indique clairement à l'avant.



8
votes

La question est un peu floue, mais cherchez-vous quelque chose comme ça? XXX

Vous pouvez restaurer les données ultérieurement en utilisant eval .


2 commentaires

Pour stocker et restaurer plus tard, stockable est une bien meilleure idée que les données :: Dumper + eval: Search.cpan. org / perdoc? stockable


Telemachus est correct. Stockable, YAML, JSON, DBM :: Deep ou Un million d'autres modules de sérialisation constitue un meilleur choix que les données :: Dumper + Eval.



8
votes

Utilisez Imprimer

print FILE Data::Dumper->Dump($object);


0 commentaires