open my $fh, "foo" or die $!; local $/; # tablit le mode slurp en local my $content = <$fh>; close $fh;
Je préfère :
my $content = do { open my $fh, "<", "foo" or die "foo: $!"; local $/; <$fh> };
Comme ça, la portée d'open et du local sont bien définies.
tuser
Thibaut Maquet wrote:
Bonjour,
Je lis le contenu d'un fichier et je concatène les enregistrements comm e suit:
while ($li = <fd>) { $rec = $rec . $li; }
Ma question existentielle est la suivante: jusqu'où puis-je aller ? Quelle est la longueur maximale d'une variable ? Thibaut Maquet wrote:
Bonjour,
Je lis le contenu d'un fichier et je concatène les enregistrements comm e suit:
while ($li = <fd>) { $rec = $rec . $li; }
Ma question existentielle est la suivante: jusqu'où puis-je aller ? Quelle est la longueur maximale d'une variable ?
La limite est la mémoire disponible sur le système, si tu as 1 Giga disponible, tu pourras aller assez loin :-)
Mais attention, il y a toujours une consommation de mémoire supplémentaire pour l'administration, particulièrement pour les hashes (par ex. "%rec"), mais aussi pour les lists (par ex. "@rec") et même pour les variables simples (par ex. "$rec").
Thibaut Maquet wrote:
Bonjour,
Je lis le contenu d'un fichier et je concatène les enregistrements comm e suit:
while ($li = <fd>) {
$rec = $rec . $li;
}
Ma question existentielle est la suivante: jusqu'où puis-je aller ?
Quelle est la longueur maximale d'une variable ?
Thibaut Maquet wrote:
Bonjour,
Je lis le contenu d'un fichier et je concatène les enregistrements comm e suit:
while ($li = <fd>) {
$rec = $rec . $li;
}
Ma question existentielle est la suivante: jusqu'où puis-je aller ?
Quelle est la longueur maximale d'une variable ?
La limite est la mémoire disponible sur le système, si tu as 1 Giga
disponible, tu pourras aller assez loin :-)
Mais attention, il y a toujours une consommation de mémoire
supplémentaire pour l'administration, particulièrement pour les
hashes (par ex. "%rec"), mais aussi pour les lists (par ex. "@rec") et
même pour les variables simples (par ex. "$rec").
Je lis le contenu d'un fichier et je concatène les enregistrements comm e suit:
while ($li = <fd>) { $rec = $rec . $li; }
Ma question existentielle est la suivante: jusqu'où puis-je aller ? Quelle est la longueur maximale d'une variable ? Thibaut Maquet wrote:
Bonjour,
Je lis le contenu d'un fichier et je concatène les enregistrements comm e suit:
while ($li = <fd>) { $rec = $rec . $li; }
Ma question existentielle est la suivante: jusqu'où puis-je aller ? Quelle est la longueur maximale d'une variable ?
La limite est la mémoire disponible sur le système, si tu as 1 Giga disponible, tu pourras aller assez loin :-)
Mais attention, il y a toujours une consommation de mémoire supplémentaire pour l'administration, particulièrement pour les hashes (par ex. "%rec"), mais aussi pour les lists (par ex. "@rec") et même pour les variables simples (par ex. "$rec").