作者sqrt1089 (李崩子)
看板Perl
标题[问题] 请问CGI档的@array怎麽传到.pl执行档
时间Mon Oct 25 23:08:36 2010
是这样的
以下是我其中CGI的一小段原始码
while(<FH2>){
@class=split/\t/; chomp;
if($name eq $class[2]){
push @test7,($class[3],$class[4],);
}
}
`\./length.pl @test7`;
print "Content-type: text/html\n\n";
..
..(後略)
=========================================================
这是我的pl档
#!/usr/bin/perl -w
my@test7=shift; #这是接收CGI的
#push @test7,(400,410,533,599,1278,1332);##这我先#掉
for my $index(0..$#test7/2) {
print $index,"=",$test7[2*$index],",",$test7[2*$index+1],"\n";
}
=========================
我把CGI的的一个阵列值丢到length.pl去执行
(就是有2个档,一个是CGI:接收网页的值去运算会得到一个阵列,
再把阵列丢到pl档去执行)
大概解释,
假设我在网页输入一个名字,例如王小美(这是假设)
他会去@class的第2行去找全部是王小美的字串,找到後
把所有第2行是王小美的第3行跟第4行丢到@test7里面
举个例我找到3组好了
我print出来是:400,410,533,599,1278,1332,
可是丢到.pl档,只能丢一个,是不是因为我pl档接收那边,设成my@test7=shift;
因为之前我都是遇到单一元素,但是遇到多个(上面的6个数字)就死在那了
我改成my@test7=unshift;不能执行
但是单纯执行pl档是可以(把红色字的#拿掉,然後把my@test7=shift; #掉)
结果印出来是:
0=400,410
1=533,599
2=1278,1332
代表我的pl档没问题才对,原因应该是卡在CGI丢到pl档那边
去google查过了,可能是我关键字找不好,花了1个周末= =
感谢大家帮忙解惑。谢谢。
--
--
▂▂ ▂▂▂
▂▄▅▅▄▆█ _█◣
◢ (●) ◣/\\
丫 │◥  ̄◤
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.215.116
※ 编辑: sqrt1089 来自: 140.116.215.116 (10/25 23:10)
1F:推 rkcity:my @test7 = @ARGV; #try it 10/26 03:45
2F:→ sqrt1089:感恩!! 10/26 14:57