国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Perl > 正文

用perl編寫的單位電腦信息采集程序

2020-02-23 19:47:16
字體:
來源:轉載
供稿:網友

對于perl編程你了解多少?武林小編我曾深入過,但知識點是學不完的,我也不斷的充實中,接下來就先附上這篇用perl編寫的單位電腦信息采集程序,需要學習這方面知識的小伙伴不妨看過來。

r_gui.JPG?

?

復制代碼 代碼如下:

?


主要用于收集ip、mac、姓名、房間,后來又加入了維修記錄的功能。服務器端接受數據并存入數據庫中。
#############################
use?strict;
use?Tk;
use?Encode;

#SOCKE參數
my?$PF_INET?=?2;
my?$port?=?2345;
my?$remote_addr?=?pack('SnC4x8',$PF_INET,$port,192,168,138,228);
my?$SOCK_DGRAM?=?2;

#Frame
my?($label_room,?$label_name,?$label_ctrl,?$label_notice);

#確定、取消
my?($enter,?$cancel);

#房間、姓名變量
my?($room,?$name);
$room?=?'';
$name?=?'';

#主界面
my?$mw?=?MainWindow->new(-title?=>?hanzi('信息收集'));
$mw->minsize(qw/200?100/);
$mw->maxsize(qw/200?100/);

#三個Frame
$label_room?=?$mw->Frame(?qw/-borderwidth?2?-relief?groove/?)->pack(?qw/-side?top?-fill?both/?);
$label_name?=?$mw->Frame(?qw/-borderwidth?2?-relief?groove/?)->pack(?qw/-side?top?-fill?both/?);
$label_ctrl?=?$mw->Frame(?qw/-borderwidth?2?-relief?groove/?)->pack(?qw/-side?top?-fill?both/?);

#房間號碼輸入
$label_room->Label(-text?=>?hanzi('房間號碼'))->pack(qw/-side?left?-expand?1/);
$label_room->Entry(-textvariable?=>?/$room,?-relief?=>?'groove')->pack(qw/-side?right?-expand?1/);

#姓名輸入
$label_name->Label(-text?=>?hanzi('姓名'))->pack(qw/-side?left?-expand?1/);
$label_name->Entry(-textvariable?=>?/$name,?-relief?=>?'groove')->pack(qw/-side?right?-expand?1/);

#確定與重置
$enter?=?$label_ctrl->Button(-text?=>?hanzi('確定'),?-command?=>?/&enter)->pack(qw/-side?left?-expand?1/);
$cancel?=?$label_ctrl->Button(-text?=>?hanzi('重置'),?-command?=>?/&cancel)->pack(qw/-side?right?-expand?1/);

#提示
$label_notice?=?$mw->Label(-text?=>?hanzi('歡迎使用'),?-relief?=>?'groove',?-background?=>?'#FFFF99')->pack(qw/-side?bottom?-fill?x/);

MainLoop();

#漢字解碼
sub?hanzi{
????return?decode('gb2312',?shift);????
}

#確定函數
sub????enter{
????chomp($room);
????chomp($name);
????$room?=~?s/^/s+//;
????$name?=~?s/^/s+//;
????if($room?eq?''?or?$name?eq?''){
????????$label_notice->configure(-text?=>?hanzi('輸入不能為空'))?;
????????return?0;
????}#if
????else{
????????open(IPCF,'-|',"ipconfig?-all");

????????my?($mac_addr,?$ip_addr,?$out_buffer);
????????while(){
????????????chomp;
????????????if($_?=?~s/(.*)(00(/-[0-9A-Z]{2}){5})(.*)/$2/){
????????????????$mac_addr?=?join('',?split(/-/,$_));
????????????}
????????????if($_?=?~/IP?Address/){
????????????????$_?=?~s/(.*)([0-9]{3}(/.[0-9]{1,3}){3})(.*)/$2/;
????????????????$ip_addr?=?$_;
????????????}
????????}#while
????????$out_buffer?=?$room."/t".$mac_addr."/t".$ip_addr."/t".encode('utf8',?$name);

????????socket(UDP_CLIENT,?$PF_INET,?$SOCK_DGRAM,?getprotobyname('udp'));
????????send(UDP_CLIENT,?$out_buffer,?0,?$remote_addr);

????????close(UDP_CLIENT);
????????close(IPCF);
????????$mw->destroy();
????}#else????????
}

#重置函數
sub?cancel{
????$label_notice->configure(-text?=>?hanzi('重置為空'));
????$room?=?'';
????$name?=?'';
}

?

用perl編寫的單位電腦信息采集程序就為各位說到這里,?如果有什么不清楚可以留言給我,如果覺得我寫得不錯的話,請給我一個大拇指,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 格尔木市| 成安县| 新蔡县| 固原市| 和政县| 湟源县| 巫溪县| 华安县| 墨玉县| 呼玛县| 马关县| 福清市| 和林格尔县| 湖州市| 叶城县| 西乌珠穆沁旗| 哈密市| 定日县| 平度市| 南召县| 社旗县| 广元市| 浠水县| 扎兰屯市| 武城县| 东港市| 阜新| 舒城县| 延边| 晴隆县| 若尔盖县| 陈巴尔虎旗| 永济市| 神木县| 牟定县| 德格县| 婺源县| 灵宝市| 阿克| 宁远县| 普安县|