From:Christian Lackas
Date:13.1.03 16:03
Subject:Re: I6: Zugriff auf Arrays mit Perl in site_active-Templates
Reply-To:<imperia-users@imperia.de>
References:
  • 13.1.03 15:39 Mirko Kaffka
    [IMPERIA] I6: Zugriff auf Arrays mit Perl in site_active-Templates
  • Attachments:[Source] unknown-1.pgp (application/pgp-signature)
    * Mirko Kaffka <mirko@taifun.interface-business.de> [030113 15:50]:
    
    Hallo Mirko,
    
    > <IMPERIA lang=perl>
    >   require "dumpvar.pl";
    
    What's that?
    
    >   clearlist();
    >   clearlimit();
    >   filemask("\\.shtml\$");
    >   ireaddir("/");
    > 
    >   foreach my $file (@FILELIST) {
    >     my $meta = $FILE_META{$file};
    
    %FILE_META wird so gefüllt:
    
        $FILE_META{$File::Find::name}{$_}  =
            scalar $FILE_META_INFO{$File::Find::name}->getValues($_); 
    
    getValues() wird also immer nur in skalarem Kontext aufgerufen (btw: das
    »scalar« hier ist absolut überflüssig, zeigt aber, dass sich die
    Imperia-Programmierer der Problematik wohl bewusst waren), und liefert
    darum immer nur einen (den ersten) Wert zurück. 
    Du kannst aber mal folgendes Probieren:
    
    >     # my $kategorien = $meta->{'kategorie'}; # Referenz auf Array?
    
        my @kategorie = $FILE_META_INFO{$_}->getValues('kategorien');
    
    Das müsste es eigentlich tun, wenn ich mich da jetzt nicht verguckt
    habe.
    
    Du kannst auch überall mit %FILE_META_INFO (statt %FILE_META) arbeiten,
    aber dann musst du deine Skripte natürlich entsprechend umschreiben (und
    nur noch getValues() verwenden).
    
    
    >     print "<!-- ";
    >     ::dumpValue($meta);
    >     print " -->\n";
    
    use Data::Dumper;
    print Dumper($meta);
    
    >   }
    > </IMPERIA>
    
    > PS : Guido hatte noch vorgeschlagen, mit
    > $METAINFO->getValues('kategorie'); zu arbeiten aber leider sind die
    > Metainfos aus $FILE_META{$file} keine richtigen Meta::Info Objekte
    > sondern nur "unblessed".
    
    <flame>
    Dann frag doch lieber mich ;->.
    </flame>
    
    Gruss
     Christian
    
    -- 
    Archiv der Mailingliste  : http://www.lackas.net/imp/ma/
    Imperia-Resource-Page    : http://www.lackas.net/imp/
    Wie zitiere ich richtig? : http://learn.to/quote/
    Abmelden                 : mailto:majordomo@imperia.de?body=unsubscribe
    
    
    Thread (I6: Zugriff auf Arrays mit Perl in site_active-Templates)

    © 2001, 2002 marchive.pl Christian Lackas

    [HOME]   [MARCHIVE]   [INDEX]   [IMPERIA]   [IMPRESSUM]   [DELTA]