4 바이트 네트워크 주문 IPv4 주소 (pack 및 정수 표현을 사용하여 생성 된)가 포함 된 변수가 있습니다. 나는 또 다른 변수 인 4 바이트 네트워크 주문 서브넷을 가지고있다. 나는 그들을 함께 추가하고 하나를 추가하여 서브넷에 첫 번째 IP를 얻으려고합니다.Perl에서 이진 문자열에 하나를 추가하는 가장 간단한 방법은 무엇입니까?
ASCII 표현을 얻으려면 기본 주소를 얻으려면 inet_ntoa($ip&$netmask)
을 수행 할 수 있지만 수행하는 것은 오류입니다. inet_ntoa((($ip&$netmask)+1)
; 내가 얻을 같은 메시지 : 그래서
Argument "\n\r&\0" isn't numeric in addition (+) at test.pm line 95.
내가 말할 수있는 무슨 일이 일어나고 있는지, 가장 좋은, 그것은 4 바이트보고하고, 4 바이트가 숫자 문자열을 나타내지 않는 것을보고, 다음에 거부 것입니다 1을 더하십시오.
퍼팅하는 또 다른 방법 : 내가 원하는 것은 최하위 바이트에 1을 더하는 것입니다. 4 번째 바이트는 무엇입니까? 즉, 문자열 \n\r&\0
을 가져오고 문자열 \n\r&\1
으로 끝내기를 원합니다. 그 일을하는 가장 간단한 방법은 무엇입니까?
변수를 압축 해제하고 다시 채우지 않고도이 작업을 수행 할 수 있습니까?
나는 당신이 옳은 것 같아요. 더 단순한 방법이 있는지 알아 내려고했지만, 아아, 없을 수도 있습니다. –