2015-06-25 32 views
-1

這是我在我的HTML文件的Perl CGI字符串浮點數

<form action="drinks.cgi" method="POST" target="re"> 
... 
Quantity:<input name="Quan" type="number" step="any"> (ml) 
<input style="margin-left:20px" type="submit" value="submit"/> 
... 
... 
</form> 

,這是在CGI文件什麼

my $quan = $conn->quote($cgi->param(Quan)); 
printf $quan; 

比方說,我在輸入類型222

我希望它只是打印出來222但它打印出來'222',而不是... 我怎樣才能得到我的CGI文件去掉兩個',這樣我可以ü選擇其他計算的變量。

+0

不完全的問題。你不說什麼$ conn是,我們是否可以猜測?可能是一個DBI實例,並且您正在引用一個值,然後想知道爲什麼當您打印它時會引用引號? –

+0

@ Dr.Avalanche對不起......它是SQL – pikkuu

+0

CPAN上沒有這樣的類,所以說這是完全沒用的。 – ikegami

回答

2

如果計算是用Perl來完成,使用

my $quan = $cgi->param('Quan'); 

如果計算是在SQL中進行,與上述啓動和跟進

die if $quan !~ /^[0-9]+\z/; 
my $quan_sqllit = $quan; 

# The quotes aren't actually a problem. 
my $quan_sqllit = $conn->quote($quan); 

my $quan_sqllit = "CAST(".$conn->quote($quan)." AS INT)"; 

# Maybe. Depends on the implementation of $conn->quote. 
my $quan_sqllit = $conn->quote(0+$quan); 
+0

謝謝!它正在工作 – pikkuu