while(<DATA>档纤衡)
{
chomp#去掉回车
@m=split#以空格分隔
if(exists $data{$m[0]})#如果已经炊ㄒ?
{
for(1..$#m){
if($data{$m[0]}->[$_-1] ne $m[$_]){#已定义判断后续变量是否存在不存在则添加
$data{$m[0]}->[$_-1] .= "/$m[$_]"
}
}
}
else#未定义直接添加
{
$data{$m[0]}=[@m[1..$#m]]
}
}
for(keys %data)
{
print "$_ @{$data{$_}}\n"
}
__DATA__
a b1 2 3
a b 2 2 5
open(FILE1,"E:/test1.txt")
open(FILE2,"行做E:/test2.txt")
open(FILE3,"+>","E:/test3.txt")
@array=<FILE1>如果test2里面只是一行一个号码的话这竖察样是可以的
for $i(0..$#array)#如果不是的话要进行信息的提取
{
$m=chomp($array[$_])
@v=split(" ",$m)
$hash{$v[??]}=$i
}
while(<FILE2>)
{@v=split
($name,$address,$number,$another)=@v
if(exists $hash{$name})#可能你是这个意思吧将两个记录信息都添加到文件中
{
print FILE3 "@v \n$array[$hash[$name]]\n"
}
}
perl 的纯早图形有两种玩法, Tk 和 Tkx. Tk 是纯 Perl 的, 但能用的 widget (即那些 button, menu, scrollbar... )比较少Tkx 则需要你先装有 Tcl/Tk , 但能用的 widget 比较多. 一个最简单的例子就是use Tk# 导入 tk 模组
use strict
my $mw = MainWindow->new# 创建窗口
my $labelObj = $mw->Label(-text =>'Hello, world!')# 创做穗雀建一个 label 物件
$labelObj ->pack# pack() 是将物件程现的方法, 你再翻翻书, 还有 grid() 和 place() 的风格
$mw->Button(
-text=>'Quit',
-command =>sub { exit },
)->pack
MainLoop# 每族迹个 tk 程序都要等到呼叫 MainLoop 才会出现.
最後, 你还得知道一个(差不多)每个物件都会的方法, 叫 configure, 你会以此对物件进行重新定义, 或附加设定
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)