Leser: 19
1 2 3 4 5 6 7 8 9 10 11
bla(1); sub bla{ my $x=$_[0]; print "bla: $x"; blubb(); sub blubb{ print " blubb: $x\n"; } if ($x <= 5){bla(($x+1))} }
1
2
3
4
5
6
bla: 1 blubb: 1
bla: 2 blubb: 1
bla: 3 blubb: 1
bla: 4 blubb: 1
bla: 5 blubb: 1
bla: 6 blubb: 1
1 2 3 4 5 6 7 8 9
bla(1); sub bla{ my $x=$_[0]; print "bla: $x"; my $blubb = sub { print " blubb: $x\n"; }; $blubb->(); if ($x <= 5){bla($x+1)} }
Variable "$x" will not stay shared at foo.pl line 9.
1 2 3 4 5 6 7 8 9 10 11 12 13
use warnings; use strict; bla(1); sub bla{ my $x=$_[0]; print "bla: $x"; my $blubb = sub { print " blubb: $x\n"; }; $blubb->(); if ($x <= 5){bla(($x+1))} }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
#!/usr/bin/perl use strict; use warnings; bla(1); sub bla{ my $x=$_[0]; print "bla: $x\n"; my $blubb = sub{ my $i=$x**$_[0]; print " blubb: $x\n"; if ($i <= 25){$blubb->(($_[0]+1))} }; $blubb->(1); if ($x <= 5){bla(($x+1))} }
1 2 3 4 5 6 7
# nicht ok my $blubb = sub { $blubb }; # ok: my $blubb; $blubb = sub { $blubb };