我試圖將PHP轉換爲Perl時出現問題。這些代碼:將PHP轉換爲Perl校驗和
<form action="" method="post">
Hex: <input type="text" name="crc"> e.g : 08 13 4B 04 03 00 01 00 11
<br>
<br>
<input type="submit" name="submit" value="submit"></form>
<?php
功能PHP
function crc($data) {
$content = explode(' ',$data) ;
$len = count($content) ;
$n = 0 ;
$crc = 0xFFFF;
while ($len > 0)
{
$crc ^= hexdec($content[$n]) ;
for ($i=0; $i<8; $i++) {
if ($crc & 1) $crc = ($crc >> 1)^0x8408;
else $crc >>= 1;
}
$n++ ;
$len-- ;
}
return(~$crc);
}
如果不爲空
if (!empty($_POST["submit"]))
{
echo "Input = ".$_POST["crc"].'<br>';
$crc = crc($_POST["crc"]) ;
結果
echo "<br>Result: <br>";
echo "Dec = ".$crc.'<br>' ;
echo 'Dec - hex = '.dechex($crc).'<br>' ;
echo 'Checksum = '.str_replace('ffff','',dechex($crc)).'<br>' ;
}
?>
這是關於校驗和。它在PHP上運行良好,但不在Perl中運行。 請給我解決方案。 謝謝。
那麼Perl腳本在哪裏? – k102
Perl≠PHP。告訴我們你試過了什麼 – Disa
以及PHP代碼爲示例輸入計算什麼 – ysth