Thread Perl Script Anpassung: Aus eins mach zwei... (12 answers)
Opened by ManfredG. at 2007-05-26 02:25

PerlProfi
 2007-05-27 23:16
#76982 #76982
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Na, da wo du es versucht hast einzubauen ist es ja auch falsch!
Du musst durch die Daten iterieren ( kommt ja ein paar mal in dem skript vor ) und dann den vollen Namen in Vorname und Nachname aufteilen.

Sieh dir z.B. diese Stelle einmal an:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#my ($vorname, $nachname) = split /\s/, $t->{payment_method}->{public_data}->{holder_name};

foreach my $t (@$transaction_list) {
$batch_content .= "<Debit> \n" .
"<businessCaseSignature>Meine WireCard Signatur</businessCaseSignature> \n" .
"<merchantTransId>". $t->{document_info}->{number}. "</merchantTransId> \n" .
"<ExternalAccount> \n" .
"<firstName>". $t->{payment_method}->{public_data}->{vorname}. "</firstName> \n" .
"<lastName>". $t->{payment_method}->{public_data}->{nachname}. "</lastName> \n" .
"<accountNumber>". $t->{payment_method}->{secure_data}->{account_number}. "</accountNumber> \n" .
"<BankCode>". $t->{payment_method}->{secure_data}->{bank_code}. "</BankCode> \n" .
"<Country>". $t->{account_info}->{address_country} . "</Country> \n" .
"</ExternalAccount> \n" .
"<Amount>". $t->{transaction_amount}*100 . "</Amount> \n" .
"<currency>EUR</currency> \n" .
"<Usage>". string('dummy_pp_description',
doc_name => $t->{document_info}->{name},
doc_num => $t->{document_info}->{number},
) . "</Usage> \n" .
"</Debit> \n";

$result_amount += $t->{transaction_amount};
}

Hier wolltest du $t an einer Stelle verändern an der es gar keinen Sinn macht, und $t nicht existiert, deshalb die Fehlermeldung.
Das split() muss mit in die Schleife.

Du könntest also, nachdem die $transaction_list bekannt ist, einmal durchiterieren und die Namen splitten.

MfG

View full thread Perl Script Anpassung: Aus eins mach zwei...