Schrift
[thread]7700[/thread]

Frage zu Arrayreferenzen & grep



<< >> 5 Einträge, 1 Seite
Froschpopo
 2006-02-13 00:48
#62859 #62859
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Hallo erstmal miteinander :)
Ich bin wieder im Lande.

Und jetzt zur Sache :D

folgender Code:
Code: (dl )
1
2
3
4
5
use strict;

my @array = (["Jochen", 1], ["Hans", 2], ["Annika", 3]);

my @match = grep { $_->[1] == 2 } @array;


Ziel: Ich möchte nach dem zweiten Index einer jeden anonymen arrayreferenz suchen. Ich möchte dann die gesamte arrayref in @match haben. Also: Hans, 2

Nun meine Frage:
Wie sage ich in $_->[1] == 2, in welcher arrayref er suchen soll?
Wenn ich es vorher wüsste, könnte ich ja $_[1]->[1] == 2 machen, aber da der array sehr dynamisch sein wird, habe ich keine ahnung in welchem index hans sich versteckt hat.
cbxk1xg
 2006-02-13 00:52
#62860 #62860
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Wäre ein da ein Hash nicht praktischer?
Froschpopo
 2006-02-13 00:53
#62861 #62861
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
das ganze soll hinterher noch nach verschiedenen kriterien sortiert werden und da hab ich mit nem hash so meine probs... oder meinst du hashrefs in dem array? Dann müssten die subhashes aber auch wieder arrayrefs enthalten :D

edit: man könnte ja noch ein greb in das bereits vorhandene greb einbauen, und dann in den refs suchen.
aber das würde das ganze ziemlich lahm machen befürchte ich...\n\n

<!--EDIT|Froschpopo|1139785004-->
renee
 2006-02-13 00:59
#62862 #62862
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Dein Code macht doch schon (fast) das was Du willst. In @match ist das Arrayref drin, auf das Deine Bedingung zutrifft. Wenn Du es in einem Array haben willst, dann mach:
Code: (dl )
1
2
3
4
5
6
use strict;

my @array = (["Jochen", 1], ["Hans", 2], ["Annika", 3]);

my ($treffer) = grep { $_->[1] == 2 } @array;
my @match = @$treffer;


Edit: Ich glaube, Du hast das Prinzip von grep noch nicht ganz durchschaut. Lies Dir am besten mal perldoc -f grep durch...\n\n

<!--EDIT|renee|1139785307-->
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/
cbxk1xg
 2006-02-13 01:00
#62863 #62863
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
[quote=Froschpopo,12.02.2006, 23:53]das ganze soll hinterher noch nach verschiedenen kriterien sortiert werden und da hab ich mit nem hash so meine probs...[/quote]
auch wieder war...
<< >> 5 Einträge, 1 Seite



View all threads created 2006-02-13 00:48.