package PlugIn; sub init{ &HuhnPlugIN::PluginInfo() } package HuhnPlugIN; my $PACKAGE     = 'HuhnPlugIN'; my $PLUGINNAME  = 'HuhnPlugIN'; my $VERSION     = '0.1'; # init() wird nach dem require aufgerufen und gibt den namen, # die version und einen link zurueck sub PluginInfo{    my %link;    # links werden folgendermassen definiert:    # der schluessel ist der name der funktion,    # der wert der link der aufgerufen wird.    # es koennen beliebig viele funktionen/links    # deklariert werden.    $link{ 'TestFunk' } = 'TestFunk';    # anhaengen des packagenamens an jeden link    for ( keys %link ){ $_ .= 'plugin=' . $PACKAGE }    # das hauptprogramm erhaelt die rueckgabewerte    # und erstellt fuer jeden eintrag im link-hash    # einen link in der pluginrubrik    # felder mit einem * sind optional, alle anderen    # felder muessen vorhanden sein, sonst wird's    # plugin nicht validiert und fliegt raus    return( 'pluginname' => $PLUGINNAME,            'package'    => $PACKAGE,            'version'    => $VERSION,            'menubutton' => \%link,            'folder'     => '',           # *           ); } # PLUGIN Funktionen >> sub TestFunk{    return "Huhn ist nicht Hase"; }