Thread Zeilenumbruch für foreach (7 answers)
Opened by Gast at 2007-08-01 00:41

Gast Gast
 2007-08-01 01:13
#97007 #97007
Hallo,

herzlichen Dank für die schnelle Antwort.
Ich fürchte, ich habe da ein paar Verständnisprobleme.

Von Prototypen habe ich noch nie was gehört, ich hoffe ich kann das für mein aktuelles Problem einfach ignorieren. Die Klammern hab ich mal entfernt.

Darf ich das Prob mal runterbrechen...ich habe ein Hauptprogramm, in dem ich mehrere Variablen habe. Diese möchte ich nicht als globale verwenden, sondern als Parameter übergeben. Ich versuche nochmal in Pseudo-Code das zu zeigen.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sub main {
$var1 = "zeile1
zeile2
zeile3";
$var2 = "string";

my_function($var1, $var2);
}

sub my_function {
@v1 = @_[0];
$v2 = @_[1];

foreach ( @v1 ) {
print "Zeile: $_\n";
}

print "$v2";
}


was ich erwarte ist diese Ausgabe:
Zeile: zeile1
Zeile: zeile2
Zeile: zeile3
string

Ich bekomme aber:
Zeile: zeile1
zeile2
zeile3
string

Was mache ich da falsch?

Quote
nebenbei ist
Code: (dl )
while (<PROC>) {

gefaehrlich, weil while die Variable $_ nicht lokalisiert. Da besser eine benannte variable verwenden, z.B.
Code (perl): (dl )
while( my $line = <PROC> ) {


gut zu wissen, danke für den Tip!
Nur ist halt mit Regex viel einfacher zu parsen, wenn der aktuelle Wert in $_ liegt
Oder gibts da ne einfache Syntax?

View full thread Zeilenumbruch für foreach