[Ruhr-pm] Subroutine Attributes

Ingo Wichmann iw at taikonet.de
Sa Apr 7 16:55:58 PDT 2007


Hallo Renee!

Danke für die Erklärung! Ich hab inzwischen einigermaßen verstanden, wie
Subroutine Attributes in Catalyst angewendet werden - genau so wie Du
schreibst ;-)

Ich wollte aber gerne verstehen, wie ich mir selbst eine Klasse mit Methoden
bauen kann, die solche Subroutine Attributes nutzen. Und da bin ich nicht
weit gekommen. Immerhin:

------------------- test.pl -------------------------------------------

use strict;
use warnings;

sub MODIFY_CODE_ATTRIBUTES {
    use Data::Dumper;
    print Dumper \@_; ()
}

sub foo : Bar;

------------------- test.pl -------------------------------------------

Das hier kompiliert und tut ( zur Kompilezeit ) was:
perl -c test.pl
$VAR1 = [
          'main',
          sub { "DUMMY" },
          'Bar'
        ];

Zur Funktion MODIFY_CODE_ATTRIBUTES steht was in "perldoc attributes".
Weiter bin ich nicht gekommen.

Viele Grüße,

Ingo


ReneeB schrieb:
> Hi *,
> 
> Die Funktionsattribute bestimmen das Verhalten beim Aufruf einer 
> Methode: "Private" ist - wie der Name schon sagt - privat und für 
> interne und/oder spezielle Aufrufe zuständig. Als "normal" lässt sich 
> "Local" bezeichnen, welches einfach nur den Methodennamen an den 
> Controller-Pfad anhängt.
> 
> Wenn Du also http://localhost/user/list hast, dann ist dass die Sub 
> "list" vom Controler "user".
> 
> Mehr unter: 
> http://dev.catalyst.perl.org/docs/Catalyst/Manual/Intro.html#action_types
> 
> Gruß,
> Renée
> 
> Ingo Wichmann schrieb:
>> Hi Jungs!
>>
>> Ich spiele grade ein bischen mit catalyst rum, und da werden $subject
>> benutzt. Mein Problem: ich habe keine Ahnung wofür die gut sind.
>>
>> Hat irgendjemand ein einfaches Beispiel, was man damit machen kann? perldoc
>> perlsub usw. haben mir nicht wirklich weitergeholfen ...
>>
>> Viele Grüße,
>>
>> Ingo
>>
>> _______________________________________________
>> Ruhr.pm mailing list
>> Ruhr-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/ruhr-pm
>>
>>
>>   
> 
>