Hallo, alle!
$a=r(999999998);
$b=(r(50)+32)*10000+r(11)*100+r(27);
$c=(r(5)+2)*10000+r(11)*100+r(27);
printf("%09d%01dD<<%06d%01d<%06d%01d<<<<<<%01d\n",$a,c($a),$b,c($b),$c,c($c),(c($a)*8+c($b*100+c($b)*10)+c($c*10+c($c)))%
10);
sub r{
1+int(rand($_[0]));
}
sub c{
$x=shift;
$t=0;
$s=1;
while($x){
$t+=($x%10)*$s;
$x=int($x/10);
$s=$s<6?(1+($s*2)):1
}
$t%10
}
ich möchte dieses script nach php übertragen, bin mir aber mangels perl-kenntnissen nicht sicher, ob ich soweit alles richtig gemacht habe:
<?php
$a=r(999999998);
$b=(r(50)+32)*10000+r(11)*100+r(27);
$c=(r(5)+2)*10000+r(11)*100+r(27);
printf("%09d%01dD<<%06d%01d<%06d%01d<<<<<<%01d\n",$a,c($a),$b,c($b),$c,c($c),(c($a)*8+c($b*100+c($b)*10)+c($c*10+c($c)))%10);
function r($i){
return 1+(int)(rand($i));
}
function c($i){
$x=array_shift($i);
$t=0;
$s=1;
while($x){
$t+=($x%10)*$s;
$x=(int)($x/10);
$s=$s<6?(1+($s*2)):1;
}
return $t%10;
}
?>
es tritt ein fehler in 1+(int)(rand($i));
auf, obwohl die doku aussagt, dass die argumente optional sind.
ein weiterer fehler tritt in $x=array_shift($i);
auf. da bin ich über die perl-syntax ratlos. wieso wird da in perl der variablen $x die funktion shift zugewiesen??? wie werden in perl parameter an die subroutinen übergeben?
freundl. Grüsse aus Berlin, Raik
--
Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.
Resizeable Textarea 0.1a
Der IE ist wichtig. Man benötigt ihn, um sich einen Browser zu besorgen.
