Прошло некоторое время с тех пор, как я сделал любую работу в Perl, и мне нужно написать модуль обработки кредитных карт. Модуль будет иметь несколько подпрограмм, но как только я выясню, как это сделать, я могу сделать все остальное. Первая подпрограмма - это добавление информации о клиенте. Мне нужна информация, номер клиента, имя, фамилия, адрес, город, штат и почтовый индекс. Вся эта информация будет предоставлена вызывающей программой, но некоторые из полей могут быть пустыми.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] (http://perldoc.perl.org/perlsub.html) и [Perl стиль модуля руководство] (http://perldoc.perl.org /perlmodstyle.html) – Borodin
Возможный дубликат [Аргументы подпрограммы Perl] (http://stackoverflow.com/questions/19234209/perl-subroutine-arguments) –
Не используйте прототипы (круглые скобки в декларации 'sub'). Они не требуются, и они не делают того, что, по вашему мнению, они делают. Они, скорее всего, дадут вам странные ошибки, чем что-либо еще. Они используются, чтобы подпрограммы имитировали встроенные функции, и ничего больше. Ваш должен быть 'sub addCustomer {'. – TLP