Array Ref?

Array Ref?

am 05.07.2006 10:24:31 von Reinhard Pagitsch

Hallo,

Zur Zeit stehe ich auf der Leitung.

Einer Funktion übergebe ich folgendes:

func( {-file=>$file, -ignore=>"=*", -keywords=>\@MyArray });

Wie muß ich nun in der Funktion func() die -keywords dereferenzieren?

sub func
{
my $options = shift;
my $file=$options->{-file};
my $ignore = $options->{-ignore};
my @arr = $options->{-keywords}; # hier komm ich nicht weiter.

}


Danke,
Reinhard

Re: Array Ref?

am 05.07.2006 10:34:37 von Daniel Fischer

Reinhard Pagitsch!

> func( {-file=>$file, -ignore=>"=*", -keywords=>\@MyArray });
>
> Wie muß ich nun in der Funktion func() die -keywords dereferenzieren?
> [...]
> my @arr = $options->{-keywords}; # hier komm ich nicht weiter.

Wenn MyArray sowas wie (1,2,3) ist:

my @arr = @{$options->{-keywords}};


Gruß
Daniel

Re: Array Ref?

am 05.07.2006 10:54:00 von Reinhard Pagitsch

Hallo Daniel,

Daniel Fischer wrote:

> Reinhard Pagitsch!
>
>> func( {-file=>$file, -ignore=>"=*", -keywords=>\@MyArray });
>>
>> Wie muß ich nun in der Funktion func() die -keywords dereferenzieren?
>> [...]
>> my @arr = $options->{-keywords}; # hier komm ich nicht weiter.
>
> Wenn MyArray sowas wie (1,2,3) ist:
>
> my @arr = @{$options->{-keywords}};
>

Argh.... Wenn ich anstatt \@MyArray \@MArray übergebe kann es ja nicht
klappen. Mann manchmal sieht man vor lauter Bäumen den Wald nicht.



regards,
Reinhard

--

Re: Array Ref?

am 05.07.2006 11:24:45 von Robert Sedlacek

Reinhard Pagitsch wrote
>
> Argh.... Wenn ich anstatt \@MyArray \@MArray übergebe kann es ja nicht
> klappen. Mann manchmal sieht man vor lauter Bäumen den Wald nicht.

Kein "use strict"? Das haette das abgefangen.

hth, p

--
Ordinary morality is only for ordinary people.
-- Aleister Crowley

Re: Array Ref?

am 05.07.2006 12:04:15 von Frank Seitz

Reinhard Pagitsch wrote:

>>>func( {-file=>$file, -ignore=>"=*", -keywords=>\@MyArray });
>>>
>>>Wie muß ich nun in der Funktion func() die -keywords dereferenzieren?
>>>[...]
>>> my @arr = $options->{-keywords}; # hier komm ich nicht weiter.
>>
>>Wenn MyArray sowas wie (1,2,3) ist:
>>
>> my @arr = @{$options->{-keywords}};
>
> Argh.... Wenn ich anstatt \@MyArray \@MArray übergebe kann es ja nicht
> klappen.

Hä? Dein Code funktioniert auch dann nicht, wenn Du die richtige
Referenz übergibst - was immer Deine Variablen sein mögen.

Grüße
Frank
--
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Re: Array Ref?

am 05.07.2006 13:51:23 von Reinhard Pagitsch

Robert Sedlacek wrote:

> Reinhard Pagitsch wrote
>>
>> Argh.... Wenn ich anstatt \@MyArray \@MArray übergebe kann es ja nicht
>> klappen. Mann manchmal sieht man vor lauter Bäumen den Wald nicht.
>
> Kein "use strict"? Das haette das abgefangen.

Nein, das hatte ich (leider) nicht im Script. Hatte ich in der Eile
_vergessen_.


regards,
Reinhard
--

Re: Array Ref?

am 06.07.2006 08:25:03 von Reinhard Pagitsch

Frank Seitz wrote:
> Reinhard Pagitsch wrote:
>
>>>>func( {-file=>$file, -ignore=>"=*", -keywords=>\@MyArray });
>>>>
>>>>Wie muß ich nun in der Funktion func() die -keywords dereferenzieren?
>>>>[...]
>>>> my @arr = $options->{-keywords}; # hier komm ich nicht weiter.
>>>
>>>Wenn MyArray sowas wie (1,2,3) ist:
>>>
>>> my @arr = @{$options->{-keywords}};
>>
>> Argh.... Wenn ich anstatt \@MyArray \@MArray übergebe kann es ja nicht
>> klappen.
>
> Hä? Dein Code funktioniert auch dann nicht, wenn Du die richtige
> Referenz übergibst - was immer Deine Variablen sein mögen.

Ich hatte es auch mit my @arr = @{$options->{-keywords}}; versucht. Na
ich sollte wohl ein error-handling einbauen.


Grüße,
Reinhard


--