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.
Resizeable Textarea 0.1a