Tôi có danh sách các IP:
238.51.208.96/28
238.51.209.180-199
238.51.209.100-109
238.51.213.2-254
...
Làm thế nào tôi có thể dễ dàng phân tích chúng? Tôi cần IP đầu tiên và cuối cùng từ phạm vi. Đối với dòng đầu tiên tôi có thể sử dụng Net :: Netmask CPAN module, nhưng tôi có thể làm gì với những dòng khác?Làm cách nào để phân tích cú pháp địa chỉ IP và dải địa chỉ với Perl?
Trả lời
Hãy thử Net::IP mô-đun
Nếu mô hình thứ hai không hỗ trợ, bạn có thể cần một số thay đổi ip trong tiến như
238.51.209.180-199
để
238.51.209.180 - 238.51.209.199
bằng cách sử dụng một số regex, cho ví dụ:
$range =~ s/^((?:\d+\.){3})(\d+)-(\d+)$/$1$2 - $1$3/gm;
Full kịch bản:
use warnings;
use strict;
use Net::IP;
my $range = "238.51.209.180-199";
$range =~ s/^((?:\d+\.){3})(\d+)-(\d+)$/$1$2 - $1$3/;
my $ip = new Net::IP ($range) || die;
print $ip->ip(), "\n";
print $ip->last_ip(), "\n";
Bạn có thể phù hợp với địa chỉ IP bằng cách sử dụng gói Regexp::Common::net, và vận dụng chúng (và nhận netmasks vv) với bất kỳ số lượng mô-đun trên CPAN, bao gồm Network::IPv4Addr, NetAddr::IP và Net::CIDR.
Tôi mong muốn sử dụng smt như thế này: # Kiểm tra, chúng tôi có định dạng phạm vi nào? \t if ($ ipline = ~/^ ((?: \ D + \.) {3}) (\ d +) - (\ d +) $ /) { \t \t $ ipline = ~ s/^ ((?: \ d + \.) {3}) (\ d +) - (\ d +) $/$ 1 $ 2 - $ 1 $ 3 /; \t} –
- 1. Phân tích địa chỉ IP trong .NET
- 2. Dải địa chỉ IP riêng tư
- 3. Trình phân tích cú pháp địa chỉ bưu điện Java
- 4. Cách so sánh dải địa chỉ IP trong C#?
- 5. Chuyển đổi [địa chỉ NSNetservice] để ip địa chỉ chuỗi
- 6. Làm cách nào để xác định địa chỉ IP của máy cục bộ từ Perl?
- 7. Làm cách nào để lấy địa chỉ vật lý (MAC) của địa chỉ IP bằng C#?
- 8. có thư viện nào để phân tích cú pháp địa chỉ ở Hoa Kỳ không?
- 9. Tăng địa chỉ IP
- 10. Địa chỉ email phân tích cú pháp cho các trường "từ" và "đến" trong Ruby
- 11. Làm cách nào để nhận địa chỉ IP?
- 12. trim địa chỉ ip octet
- 13. Địa chỉ IP trong MaskedTextBox?
- 14. Địa chỉ IP từ sk_buff
- 15. Cụm từ thông dụng để phân tích cú pháp địa chỉ gửi thư
- 16. Cách nghe trên nhiều địa chỉ IP?
- 17. Làm cách nào để chỉ định địa chỉ IP với trình kiểm tra Django?
- 18. Trang web hiển thị khác với địa chỉ máy chủ cục bộ và địa chỉ IP
- 19. Tôi có thể cấm địa chỉ IP (hoặc một dải địa chỉ) trong ứng dụng ASP.NET không?
- 20. Cú pháp đặt neth http url cho bất kỳ địa chỉ IP nào
- 21. Số nguyên cho Địa chỉ IP - C
- 22. Cách lấy địa chỉ IP tăng :: asio :: ip :: tcp :: socket?
- 23. Làm cách nào để đặt địa chỉ IP cho giao diện TUN trên OSX (không có địa chỉ đích)?
- 24. Phân tích địa chỉ email đồng bằng thành 2 phần
- 25. Cách bật ghi nhật ký địa chỉ IP với Log4Net
- 26. Dns.GetHostEntry trả về nhiều địa chỉ IP
- 27. Có một trình phân tích cú pháp Java có thể phân tích các địa chỉ như thế này
- 28. Vị trí địa lý dựa trên Địa chỉ IP - PHP
- 29. Nhận địa chỉ IP của người dùng
- 30. Nhận địa chỉ IP cục bộ
'my $ ip = new Net :: IP (" 238.51.209.180-199 ") || chết, 'đầu ra là' Chết tại ./andrey-zentavr.pl dòng 5.' –
@Kinopiko - thêm một cách giải quyết. – YOU
Tôi đã chỉnh sửa regex của bạn và nó hoạt động ngay bây giờ. –