【发布时间】:2016-02-03 22:25:32
【问题描述】:
我已经有一段时间没有做任何 Perl 工作了,我需要编写一个信用卡处理模块。该模块将有几个子例程,但是一旦我弄清楚如何做一个,我就可以做剩下的了。第一个子程序是添加客户信息。我需要的信息是客户编号、名字、姓氏、地址、城市、州和邮政编码。所有这些信息都将由调用程序提供,但有些字段可能是空白的。
sub addCustomer()
{
my $tx = new Business::OnlinePayment("USAePay");
$tx->content(
login => LOGIN,
password => PASSWORD,
type => "CC",
action => 'Recurring Authorization',
description => 'Business::OnlinePayment test',
amount => '49.95',
invoice_number => '100100',
name => 'Tofu Beast',
card_number => '46464646464646',
expiration => '11/08',
address => '1234 Bean Curd Lane, San Francisco',
zip => '94102',
);
$tx->submit();
if($tx->is_success()) {
print "Card processed successfully: ".$tx->authorization."\n";
} else {
print "Card was rejected: ".$tx->error_message."\n";
}
}
【问题讨论】:
-
你应该从阅读和吸收Perl subroutines和Perl module style guide开始
-
不要使用原型(
sub声明中的括号)。它们不是必需的,它们不会做你认为他们做的事。它们比其他任何东西都更有可能给您带来奇怪的错误。它们用于使子程序模仿内置函数,仅此而已。你的应该是sub addCustomer {。
标签: perl