くだすれPerl(超初心者用)
at PHP
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
200:nobodyさん 07/06/30 14:41:50 zANvV/vQ こういう範囲指定を → 4.43.96.0/24 このように変換 → 4.43.96.0-4.43.96.255 したいのですが、良い方法を教えてください。 201:nobodyさん 07/06/30 15:21:36 拡大解釈して、「あるIPアドレスがあるネットマスク内にあるか否か」 ってスクリプトなら。 my $netmask = q{4.43.96.0/24} ; my $ip = q{4.43.96.0} ; # <= ここにテストするIPアドレスをセット my ( $org_ip, $byte ) = split m{/}, $netmask ; my $packed_one = unpack qq{B$byte}, pack 'C4', split ( /\./, $ip ) ; my $packed_two = unpack qq{B$byte}, pack 'C4', split ( /\./, $org_ip ) ; if ( $packed_one eq $packed_two ){ print q{in} . qq{\n} ; } こんな感じ?と素人が答えてみるテスト。 202:nobodyさん 07/06/30 15:54:22 >>201 正直Perlは良く分からないのですが、コピペして結果がでました。 どうもありがとうございます。ペコリ 203:質問 07/06/30 16:27:58 6uCjWfRX 配列の値をリファレンスを使って、サブルーチンへ渡す方法についての質問です。 下記のような簡単な物を作って、配列のリファレンスがサブルーチン側へ渡されていることは わかりました。($alldata_refと$getdata_refが同じ) が、サブルーチンを使っての配列の値の参照がなぜかできません。 いろんなサイトをみても問題はないようですが、わかる方教えてください。 @alldata=(1,2,3,4,5); $alldata_ref=\@alldata; print "$alldata_ref\n"; foreach (@$alldata_ref){ print "$_"; } print "\n"; &COUNT8(\@alldata); sub COUNT8{ my $getdata_ref="@_"; print "$getdata_ref\n"; foreach (@$getdata_ref){ print "$_"; } print "\n";
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4277日前に更新/307 KB
担当:undef