Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
perl et qw, probleme etrange...
Envoyé par: ofkain

Salut a tous,

Ca fais un petit moment que je suis pas venu ici demander de l'aide, mais la je m'arrache les cheveux...
Donc un petit probleme en perl : J'ai une variable nommée $oldline qui contiens ceci :

cddb daap dts httpd live matroska modplug mp3 musepack optimisememory rtsp sdl sdl-image shout skins stream svg svga wxwindows x264 xml xosd xv cdparanoia equalizer win32codecs acpi nsplugin theora gstreamer apm firefox encode ffmpeg mad sndfile jpeg nfs ogg vorbis flac bzip2 jpeg2k mpeg png truetype usb opengl dbus ppds gtk gif hal spell a52 aac -aim alsa X -kde gnome -ipv6 dvd cdr dvd dvdr qt3 qt4

Une jolie liste séparée par des espaces.
Je veux donc transformer cette liste en tableau, donc logiquement j'ai fait :
my @table = qw($oldline);

Seulement ca ne fonctionne pas, mon tableau contiens apres traitement la chaine "$oldline" au lieu de contenir son contenu...
Je n'arrive vraiment pas a comprendre quelle boulette j'ai bien pu faire.

Voici un extrait du mode debug :

main:sad smiley./autouse.pl:38):        my @olduse = qw ( $oldline );
  DB<7> p $oldline
cddb daap dts httpd live matroska modplug mp3 musepack optimisememory rtsp sdl sdl-image shout skins stream svg svga wxwindows x264 xml xosd xv cdparanoia equalizer win32codecs acpi nsplugin theora gstreamer apm firefox encode ffmpeg mad sndfile jpeg nfs ogg vorbis flac bzip2 jpeg2k mpeg png truetype usb opengl dbus ppds gtk gif hal spell a52 aac -aim alsa X -kde gnome -ipv6 dvd cdr dvd dvdr qt3 qt4
  DB<8> p @olduse
$ligneold

Vraiment la ca me depasse, merci d'avance pour votre aide!

Poste le Sunday 9 December 2007 03:35:36
Répondre     Citer    
Re: perl et qw, probleme etrange...
Envoyé par: PlainStupidPenguin

Salut,

qw = « quoted word », qui sépare sans les interpréter les termes donnés. Autrement dit c'est normal que le résultat soit une liste contenant un unique terme « $oldline ».

Pour faire ce que tu veux, c'est la fonction split qu'il faut utiliser :

my @table = split / /, $oldline ;

:-)

Poste le Monday 10 December 2007 10:27:26
Répondre     Citer    
Re: perl et qw, probleme etrange...
Envoyé par: ofkain

Merci!!!
C'est vrai que ce que tu dis sur qw est logique, mais j'etais persuadé d'avoir deja vu cette notation.
Enfin, je vais tester ca des ce soir.

Poste le Monday 10 December 2007 21:39:20
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
perl et qw, probleme etrange...
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons