Thread lokale Variable aus Sub ins Hauptprogramm!
(30 answers)
Opened by skontox at 2003-09-24 21:07
Ich kann dir das auch erklären. Es gibt Namensräume. Lass mal dieses Beispiel lauzfen, vielleicht wird es dir klar:
Code: (dl
)
1 package main;# kann man auch weglassen, ist voreinstellung und mit $namensraum::variable kannst du auf eine Variable in einem anderen Namensraum zugreifen. Statt Variablen global zu machen, übergib lieber eine Refferenz auf sie. sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t] "if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep !$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1} |