Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6649[/thread]

Zeile wort für wort auslesen: die worte eienr zeile in ein array



<< >> 3 Einträge, 1 Seite
Hydra2005
 2005-01-21 19:48
#51149 #51149
User since
2005-01-21
1 Artikel
BenutzerIn
[default_avatar]
also folgendes:


Code: (dl )
1
2
3
@array = qw( esel2 esel3 esel4 esel7 esel19 ); # 5 x esel

$anzahl_esel = scalar grep /esel/i, @array;


somit wird jeder esel in das array geschrieben!
print @array[0] # gibt esel2 aus usw


ich hab aber eine zeile mit beliebig vielen wörtern in einer variablen oder einem @array[0].......

@array = qw( $zeile); <--geht aber nicht, hat jemand dafür eine lösung?\n\n

<!--EDIT|renee|1106345118-->
Strat
 2005-01-21 22:04
#51150 #51150
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
qw bedeutet quote words, d.h. es bricht den string zwischen (in diesem fall) (....) an whitespace auf und gibt eine liste zurueck. dabei werden sonderzeichen nicht interpretiert; dein beispiel entspricht also:
Code: (dl )
@array = ('$zeile');
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Dubu
 2005-01-21 22:38
#51151 #51151
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Ergaenzend: Du brauchst also z.B. split(), um die Zeile aufzutrennen:
Code: (dl )
@array = split ' ', $zeile;

Details siehe perldoc -f split (vor allem zur Verwendung von ' ' statt / / als Trennausdruck).

Uebrigens: Ein einzelnes Element wird mit $array[0] angesprochen, mit $ statt @, weil ein einzelnes Element eben ein Skalar ist.
<< >> 3 Einträge, 1 Seite



View all threads created 2005-01-21 19:48.