tablestates perl(请问一个perl程序, 用来搜寻或比较在哪个区间中 perl新手, 不知道怎麼写, 能请大神们帮忙写一个吗 谢谢)

本文目录
- 请问一个perl程序, 用来搜寻或比较在哪个区间中 perl新手, 不知道怎麼写, 能请大神们帮忙写一个吗 谢谢
- 如何在perl中加载关于Excel的模块
- perl 怎么判断数组元素 只为空格
- Perl脚本中有这么个语句,不是很理解, 希望懂的人给解释一下,谢谢
- perl dbi 中如果获得结果的字段名
请问一个perl程序, 用来搜寻或比较在哪个区间中 perl新手, 不知道怎麼写, 能请大神们帮忙写一个吗 谢谢
my %table;
my $table = 0;
while (《DATA》) {
chomp;
if (/表(\d+)/) {
$table = $1;
《DATA》;
next;
}
if ($table) {
my @n = split //;
if (@n 》 1) {
if ($table == 1) {
unless (exists $table{$n}) {
$table{$n;
}
push @{$table{$n;
}
else {
my $f = "X";
if (exists $table{$n}) {
my $t = $table{$n};
my $id = binary_find($n, $t);
$f = $t-》 if ($id 》= 0);
}
print "$_ =》 $f\n";
}
}
else {
$table = 0;
}
}
}
sub binary_find {
my ($d, $table) = @_;
my ($l, $r) = (0, $#$table);
my $m;
while($l 《= $r) {
$m = ($l+$r)》》 1;
if ($d 《 $table-》) {
$r= $m-1; next;
}
if ($d 》 $table-》) {
$l = $m+1; next;
}
return $m;
}
return -1;
}
__DATA__
表1.
代号 名称 开始区间 结束区间
c1 A239393239500
c2 A239501240084
c3 A240085240195
c4 B240196250697
c5 C250698250808
表2.
名称 数值
A239408
A245878
B144544
C250772
如何在perl中加载关于Excel的模块
下面是一个简单的例子,先要安装几个模块,按照提示安装吧。
#!/usr/bin/perl -w
## Program : xls.pl
## Version : 1.0
## Date : 2010.7.8
##------------------------------------------------------------------------------
use Spreadsheet::ParseExcel;
use Spreadsheet::ParseExcel::FmtUnicode;
use Spreadsheet::WriteExcel;
#---------------------------写EXCEL-------------------------------------------------------
my $output= File::Spec-》catfile(’Copy.xls’);
my $Map=new Unicode::Map("GB2312");
my $workbook=Spreadsheet::WriteExcel-》new("$output");
my $out_worksheet=$workbook-》add_worksheet("table");
$format = $workbook-》add_format(align=》’center’,bg_color=》’cyan’,border=》 1);
#---------------------------读取EXCEL-------------------------------------------------------
$filename="input.xls";
my $oExcel = new Spreadsheet::ParseExcel;
my $code = "gb2312";
my $oFmtJ = Spreadsheet::ParseExcel::FmtUnicode-》new(Unicode_Map =》$code);
my $oBook = $oExcel-》Parse( $filename, $oFmtJ );
my $sheet=$oBook-》{Worksheet};
#$sheet_name=$sheet-》{Name};
my ( $minRow, $maxRow ) = $sheet-》row_range();
my ( $minCol, $maxCol ) = $sheet-》col_range();
my @rowdata;
my $r_num=0;
for $r(0..$maxRow){
@row_data=getSingleRow($r,$maxCol,$sheet);
#print "@row_data"."\n";
my $i=0;
foreach(@row_data){
print $_;
$out_worksheet-》write_unicode($r,$i++,$Map-》to_unicode($_),$format);
}
}
sub getSingleRow{
my($row,$maxCol,$sheet)=@_;
my @row_all;
foreach my $col ( 0 .. $maxCol ){
my $cell = $sheet-》get_cell( $row, $col );
next unless $cell;
$data=$cell-》value;
push(@row_all,$data);
}
return @row_all;
}
perl 怎么判断数组元素 只为空格
@a=qw(a b c d);
空格隔开的就是每个元素
当然你可以指定分隔符:
$a="a,b,c,d";
@a=split/,/$a;
Perl脚本中有这么个语句,不是很理解, 希望懂的人给解释一下,谢谢
$a=parameter;
$parameter="123";
print $$a;
结果 : 123
.连接字符串用的。比如
$a="123";
$b="456";
$c=$a.$b;
$c = "123456"
perl dbi 中如果获得结果的字段名
my $fields = $sth-》{NUM_OF_FIELDS}; #获得当前表的字段数
for(my $i=0;$i《$fields;$i++){
my $col_name=$sth-》{NAME}-》; #字段名称
my $col_type=$sth-》{TYPE}-》; #字段类型
}

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10




