Schrift
[thread]11337[/thread]

Problem mit Modul Calendar::Calendar

Leser: 1


<< >> 8 Einträge, 1 Seite
nobody0815
 2008-02-21 15:23
#106168 #106168
User since
2008-02-21
5 Artikel
BenutzerIn
[default_avatar]
Hallo,

bin noch recht neu was Perl angeht...
Habe versucht den Perlator von der ct einzurichten.
In der Anleitung steht das beim Calendar eine Exportfunktion fehlt und man diese von Hand eintragen soll:
Code: (dl )
1
2
our %EXPORT_TAGS = ( 'all' => [ qw(
generic_calendar calendar $week_start_day) ] );


(http://www.heise.de/ct/projekte/machmit/perlator/w...)
Wollte das auch machen, konnte aber in der Datei Calendar.pm nix entsprechendes gefundne. Die Datei sieht wie folgt aus (Auszug)
Code: (dl )
1
2
3
4
5
6
7
8
BEGIN { eval { require bytes; }; }
use strict;
use vars qw( @ISA @EXPORT @EXPORT_OK $VERSION );
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
$VERSION = '5.4';


Habe jetzt versucht das wie folgt einzubinden, leider ohne Erfolg:
Code: (dl )
1
2
3
4
5
6
7
8
9
BEGIN { eval { require bytes; }; }
use strict;
use vars qw( @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION );
require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw();
@EXPORT_OK = qw();
our %EXPORT_TAGS = ( 'all' => [qw(generic_calendarCalendar $week_start_day) ] );
$VERSION = '5.4';


Habe es auch ohne "our" vor %EXPORT_TAGS versucht, funktioniert auch nicht. Fehlermeldung ist immer:
"generic_calendar" is not exported by the Calendar::Calendar module
Can't continue after import errors at /home/me/workspace/Perlator_Webpage/perlator.pl line 22

Zeile 22:
Code: (dl )
use Calendar::Calendar qw(generic_calendar $week_start_day);


Hat irgendjemand eine Idee wie ich das beheben/richtig einbinden kann?
Fehlen noch Infos?

Gruß
PP
renee
 2008-02-21 15:34
#106172 #106172
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ist das ein Copy & Paste Fehler, dass in Deinem Code ein
Code: (dl )
our %EXPORT_TAGS = ( 'all' => [qw(generic_calendarCalendar $week_start_day) ] );
statt
Code: (dl )
our %EXPORT_TAGS = ( 'all' => [qw(generic_calendar calendar $week_start_day) ] );
steht?
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/
renee
 2008-02-21 15:35
#106173 #106173
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zusätzlich solltest Du aus
Code: (dl )
use Calendar::Calendar qw(generic_calendar $week_start_day);
das hier machen:
Code: (dl )
use Calendar::Calendar qw(:all);
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/
nobody0815
 2008-02-21 16:11
#106179 #106179
User since
2008-02-21
5 Artikel
BenutzerIn
[default_avatar]
Hi renee,

das mit "our %EXPORT_TAGS ..." war copy and past fehler :( Keine Ahnung wie das passiert ist.

Aber das ändern von
Code: (dl )
use Calendar::Calendar qw(generic_calendar $week_start_day);

nach
Code: (dl )
use Calendar::Calendar qw(:all);

hat geholfen. Vielen Dank !!!

Frage mich jetzt nur warum das noch so im Projekt drin ist, bin ja bestimmt nicht der erst der das verwendet... Kann das auch irgendwie an meiner Konfiguration oder verwendeter Version liegen?

Danke noch mal, und viele Grüße
PP
nobody0815
 2008-02-24 18:41
#106316 #106316
User since
2008-02-21
5 Artikel
BenutzerIn
[default_avatar]
Hallo,

das mit
Code: (dl )
use Calendar::Calendar qw(:all);

an stelle von
Code: (dl )
use Calendar::Calendar qw(generic_calendar $week_start_day);

funktioniert leider doch nicht.
Es gibt jetzt zwar keine Fehlermeldung mehr in der "use Calendar..." Zeile, aber jetzt wird auf diese Funktion zugegriffen und es gibt folgende Fehlermeldung:
Code: (dl )
Undefined subroutine &main::generic_calendar called at /home/me/workspace/Perlator_Webpage/perlator.pl line 534.

Der Code an der Stelle sieht wie folgt aus:
Code: (dl )
1
2
3
4
5
6
7
8
push(
@calendar,
{
'month' => sprintf( "%02d", $m ),
'year' => sprintf( "%02d", $y ),
'cal' => [ generic_calendar( $m, $y ) ]
}
);


Ich denke mal das es da immer noch das Problem mit der Funktion generic_calendar gibt. Hat da jemand noch eine Idee was das Porblem sein könnte??
Langsam verzweifel ich etwas, hab schon ewig im Inet gesucht finde am zu dem Thema einfach nix :(

Gruß
PP
renee
 2008-02-25 09:38
#106319 #106319
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hast Du das richtige CPAN:Calendar::Calendar Wiki:installiert?

Wo hast Du das use Calendar::Calendar qw(generic_calendar $week_start_day); eingetragen?
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/
nobody0815
 2008-02-25 19:04
#106333 #106333
User since
2008-02-21
5 Artikel
BenutzerIn
[default_avatar]
Hi,

hoffe doch das ich das Richtige habe...
Habs mit
Code: (dl )
cpan install Calendar::Calendar

instaliert, eine Auswahl gab es da nicht.

use Calendar::Calendar.... steht ganz am Anfang, wie die anderen use auch.
(Komplette Datei: http://www.heise.de/ct/projekte/machmit/perlator/b... )


Habe das jetzt auch mal unter Windows installiert. Da sieht die Calendar.pm ganz anders aus und ich könnte die Änderungen auch wie angegeben durchführen.
http://www.heise.de/ct/projekte/machmit/perlator/w...
(vorletzter Punkt).
Habe es hier genau so wie oben (und unter Linux) installiert.

Hab echt keine Ahnung was ich da unter Linux falsch mache... :(
Kann ich die Datei von Windows einfach nach Linux kopieren? Was ist evt mit Seiteneffekten? Aber eine saubere Lösung währe das ja auch nicht wirklich...

Gruß
PP
nobody0815
 2008-02-25 20:17
#106335 #106335
User since
2008-02-21
5 Artikel
BenutzerIn
[default_avatar]
Oh man, wie dumm von mir...
Habe wie angegeben die Calendar.pm unter /usr/lib/perl5/Date/Calendar.pm versucht anzupassen.
Es gibt aber mehrere (insgesammt 3), hab nur keine Ahnung warum.

Die richtige liegt auf jeden Fall unter /usr/local/share/perl/5.8.8/Calendar/Calendar.pm
Die dritte Calendar.pm liegt genau ein Verzeichnis tiefer.

Jetzt funktioniert es alles :)
Vielen dank für die Hilfe, und sorry das ich das so verbockt habe :(

Gruß und noch mal vielen Dank
PP
<< >> 8 Einträge, 1 Seite



View all threads created 2008-02-21 15:23.