Schrift
[thread]10606[/thread]

Allgemeine Fragen Perl



<< >> 4 Einträge, 1 Seite
H3llGhost
 2007-10-18 00:03
#100995 #100995
User since
2007-10-14
60 Artikel
BenutzerIn
[default_avatar]
Hallo Leute,

kann mir jemand ungefähr erklären was der Code hier macht?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
sub parse_array {
   my @array_buffer = @_;
   
   my ($key, %values);

   foreach my $entry (@array_buffer) 
   {
     if ($entry =~ /^\s*(.*)\[[0-9]+\]\s*=\s*\(\s*("(.+)"\s*=\>\s*"(.+)")?/ ) {
       $key = $1;
       $values{$3} = $4;
       
     } elsif ($entry =~ /^\s*"(.+)"\s*=\>\s*"(.+)"([,)]?)?/ ) {
       $values{$1} = $2;
     }
   }
   return ($key, %values);
}
topeg
 2007-10-18 08:19
#100998 #100998
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Der Codstück sucht in einem Array (@array_buffer) nach etwas was ähnlich aussieht wie:
Code: (dl )
1
2
3
bla[01] = ( "bla" => "bla"
bla[+22+] = (
[44] = ("bla" => "bla"

oder
Code: (dl )
1
2
3
"bla" => "bla"
"bla" => "bla",
"bla" => "bla")

und sucht sich Werte heraus, um sie in ein Hash (%values) und ein Skalar ($key) zu schreiben die beiden Werte werden zurückgeliefert.
Zu bemerken ist, dass "$key" immer mur den letzten gefundenen Begriff enthält.
renee
 2007-10-18 11:47
#101001 #101001
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@topeg: die "+" in Deinen Beispielstrings sind falsch...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
topeg
 2007-10-18 20:06
#101047 #101047
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Stimmt, habe falsch geschaut...
Danke
<< >> 4 Einträge, 1 Seite



View all threads created 2007-10-18 00:03.