retourner une chaine de caractere d'apres une position.
2 réponses
Dom
Bonjour,
Plus que débutant en Perl, malgré des recherches sur le Net, celles-ci
demeurent sans résultat.
Je cherche a récupérer une chaine de caractère contenu dans un fichier,
sachant que je passe 3 argument :
- Le nom du fichier (bien sur)
- La position a partir de laquelle rechercher la chaine
- Le nombre de caractere a retourner
Imaginons le fichier suivant :
chat.txt
------------------------
Chaque animal domestique a une particularité. Le chat de Van a une fourrure
blanche de soie, les yeux de couleur différente, un sens parfait de la
chasse et le grand plaisir consistant à jouer avec de l'eau.
Les premiers fossiles des chats domestiques datent de 12 million d'années
Les chats sont probablement domestiqués par les Egyptiens dans le troisième
millénaire avant Jésus-Christ. Les chats domestiqués étaient considérés
comme étant sacrés, et traités comme des déesses par les Egyptiens. Il y a
plusieurs points de vue controversés en ce qui concerne la domestication
dans plusieurs endroits et au temps différent. Mais il est établi avec
certitude que le peuple asiatique a entrepris la domestication du chat
aussi. D'autre part, le chat aurait été semi-domestiqué dans les années 1900
avant Jésus-Christ, selon certaines sources.
--------------------------------
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Denis Dordoigne
Bonjour,
Pourrais-tu indiquer un morceau de code que tu as déjà réussi à faire même s'il ne marche pas ? Parce que si on te donne le code tout fait, tu n'auras rien appris...
Bonne chance,
-- Denis
P.S.: tu donnes franchement l'impression de donner à faire tes devoirs.
Bonjour,
Pourrais-tu indiquer un morceau de code que tu as déjà réussi à faire
même s'il ne marche pas ? Parce que si on te donne le code tout fait, tu
n'auras rien appris...
Bonne chance,
--
Denis
P.S.: tu donnes franchement l'impression de donner à faire tes devoirs.
Pourrais-tu indiquer un morceau de code que tu as déjà réussi à faire même s'il ne marche pas ? Parce que si on te donne le code tout fait, tu n'auras rien appris...
Bonne chance,
-- Denis
P.S.: tu donnes franchement l'impression de donner à faire tes devoirs.
Jacques Caron
Salut,
On Mon, 27 Feb 2006 16:41:21 +0100, Dom wrote:
Plus que débutant en Perl, malgré des recherches sur le Net, celles-ci demeurent sans résultat.
Je cherche a récupérer une chaine de caractère contenu dans un fichier, sachant que je passe 3 argument : - Le nom du fichier (bien sur) - La position a partir de laquelle rechercher la chaine - Le nombre de caractere a retourner
Imaginons le fichier suivant :
chat.txt ------------------------ Chaque animal domestique a une particularité. Le chat de Van a une fourrure [...]
si je lance la commande :
trouver_chaine chat.txt 14 10
La commande doit me retourner : domestique
Au hasard (pas optimal, mais court):
#!/usr/local/bin/perl -w
use strict; my $file = `cat $ARGV[0]`; print substr($file,$ARGV[1]-1,$ARGV[2])."n";
(évidemment il faudrait rajouter la gestion d'erreurs).
Plus "propre" (i.e. sans forker tout plein de trucs pour faire un cat), un petit:
my $fname = $ARGV[0]; my $size = -s $fname; my $file; open my $fh,$fname; read $fh,$file,$size; close $fh; print substr($file,$ARGV[1]-1,$ARGV[2])."n";
Pas testé du tout, mais bon, faut te laisser un peu de travail...
Jacques. -- Oxado http://www.oxado.com/
Salut,
On Mon, 27 Feb 2006 16:41:21 +0100, Dom <pp@pp.fr> wrote:
Plus que débutant en Perl, malgré des recherches sur le Net, celles-ci
demeurent sans résultat.
Je cherche a récupérer une chaine de caractère contenu dans un fichier,
sachant que je passe 3 argument :
- Le nom du fichier (bien sur)
- La position a partir de laquelle rechercher la chaine
- Le nombre de caractere a retourner
Imaginons le fichier suivant :
chat.txt
------------------------
Chaque animal domestique a une particularité. Le chat de Van a une
fourrure
[...]
si je lance la commande :
trouver_chaine chat.txt 14 10
La commande doit me retourner : domestique
Au hasard (pas optimal, mais court):
#!/usr/local/bin/perl -w
use strict;
my $file = `cat $ARGV[0]`;
print substr($file,$ARGV[1]-1,$ARGV[2])."n";
(évidemment il faudrait rajouter la gestion d'erreurs).
Plus "propre" (i.e. sans forker tout plein de trucs pour faire un cat), un
petit:
my $fname = $ARGV[0];
my $size = -s $fname;
my $file;
open my $fh,$fname;
read $fh,$file,$size;
close $fh;
print substr($file,$ARGV[1]-1,$ARGV[2])."n";
Pas testé du tout, mais bon, faut te laisser un peu de travail...
Plus que débutant en Perl, malgré des recherches sur le Net, celles-ci demeurent sans résultat.
Je cherche a récupérer une chaine de caractère contenu dans un fichier, sachant que je passe 3 argument : - Le nom du fichier (bien sur) - La position a partir de laquelle rechercher la chaine - Le nombre de caractere a retourner
Imaginons le fichier suivant :
chat.txt ------------------------ Chaque animal domestique a une particularité. Le chat de Van a une fourrure [...]
si je lance la commande :
trouver_chaine chat.txt 14 10
La commande doit me retourner : domestique
Au hasard (pas optimal, mais court):
#!/usr/local/bin/perl -w
use strict; my $file = `cat $ARGV[0]`; print substr($file,$ARGV[1]-1,$ARGV[2])."n";
(évidemment il faudrait rajouter la gestion d'erreurs).
Plus "propre" (i.e. sans forker tout plein de trucs pour faire un cat), un petit:
my $fname = $ARGV[0]; my $size = -s $fname; my $file; open my $fh,$fname; read $fh,$file,$size; close $fh; print substr($file,$ARGV[1]-1,$ARGV[2])."n";
Pas testé du tout, mais bon, faut te laisser un peu de travail...