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

Ronnie
 2006-06-17 11:53
#67424 #67424
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Willst du eine Liste oder einen Skalar verarbeiten? @_ ist ein Array, du willst aber so wie es aussieht mit dessen Inhalt arbeiten. Hierzu kannst du z.B. shift verwenden um Elemente des Arrays @_ zu entnehmen.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/usr/bin/perl

use strict;
use warnings;

my $i=5;
&test($i);

sub test{
my $i = shift @_; # !!!
for(1..$i){
print "\@_ in der for-schleife: @_\n";
print 'rechnen in der for-schleife: ',$_+$_,"\n";
}
}

EDIT: Du könntest es alternativ z.B. auch so schreiben:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl

use strict;
use warnings;

print for test(5);

sub test{
die unless @_;
return map { $_*2 . "\n" } (1..shift @_)
}
\n\n

<!--EDIT|Ronnie|1150531268-->

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