Thread next LABEL in Subroutinen: gibt es feinere Lösungswege? (9 answers)
Opened by bloonix at 2006-12-13 15:17

renee
 2006-12-13 15:30
#72506 #72506
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@nepos: das löst nicht das eigentliche Problem...

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

use strict;
use warnings;

MYLOOP: for(0..10){
$_ % 2 or test();
print $_,"\n";
}

sub test{
print "not % 2\n";
next MYLOOP;
}


und auch

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

use strict;
use warnings;

MYLOOP: for(0..10){
unless($_ % 2){test()};
print $_,"\n";
}

sub test{
print "not % 2\n";
next MYLOOP;
}


Ergibt:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
~/entwicklung 10> perl modulo.pl 
not % 2
Exiting subroutine via next at modulo.pl line 13.
1
not % 2
Exiting subroutine via next at modulo.pl line 13.
3
not % 2
Exiting subroutine via next at modulo.pl line 13.
5
not % 2
Exiting subroutine via next at modulo.pl line 13.
7
not % 2
Exiting subroutine via next at modulo.pl line 13.
9
not % 2
Exiting subroutine via next at modulo.pl line 13.


Natürlich kannst Du in dem unless-Block immer das gleiche machen, aber wozu gibt's denn subs ? ;)\n\n

<!--EDIT|renee|1166016757-->
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread next LABEL in Subroutinen: gibt es feinere Lösungswege?