Thread sub und for (1..@_) (4 answers)
Opened by toby at 2006-06-17 11:41

toby
 2006-06-17 11:41
#67423 #67423
User since
2006-04-14
66 Artikel
BenutzerIn
[default_avatar]
Hallo Perl-community :)

ich habe ein für mich seltsames Phenomän entdeckt und zwar, kann ich in einer for-schleife in einer sub-routine nicht mit "@_" arbeiten, obwohl diese Variable richtig übergeben wurde. Schaut Euch den code an:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/usr/bin/perl

use strict;
use warnings;

my $i=5;
&test($i);
sub test{
print "uebergeben an test: @_\n";
for(1..$i){ # hier kann ich $i gegen @_ nicht tauschen
print "\@_ in der for-schleife: @_\n";
print 'rechnen in der for-schleife: ',$_+$_,"\n";
}
}


Wie Ihr sieht, überprüfe ich "@_" ständig und ist wird an jeder Stelle auch richtig ausgegeben, trotzdem kann ich for( 1..$i ) nicht gegen for( 1..@_ ) tauschen, warum? Nach dem was ich alles über sub funktionen gelernt habe, sollte man ja möglichst auf "@_" zugreifen und es müsste funktionieren. Was ist hier falsch?

Danke für Eure Erklärungen! :)
Tobias

View full thread sub und for (1..@_)