1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/perl
use strict;
use warnings;
use Tk;
my $fenster = MainWindow->new();
$fenster->Label(-text => 'Hallo Welt')->pack();
MainLoop();
2010-09-03T08:48:48 pqmeinst du "Can't locate Tk.pm in @INC"?
warum kopierst du nicht einfach die komplette fehlermeldung?
der punkt ist doch, die fehlermeldung sagt dir genau, was los ist. du solltest sie auch lesen.
wenn wirklich Tk.pm drinsteht, dann sagt perl dir genau, wo es die datei Tk.pm sucht. es werden alle verzeichnisse aufgelistet, die im array @INC vorhanden sind, und in all diesen verzeichnissen sucht perl nach der datei Tk.pm.
wenn sie da nicht ist, dann ist Tk nicht installiert.
was meinst du mit "eingebunden"? "einbinden" tut man ein modul mit use.
meinst du eher "installiert"? das heisst einfach, dass de module auf der festplatte vorhanden sind.
anscheinend hat dein package manager eine andere vorstellung davon als perl, wo die Tk-module angelegt werden.
du schreibst nicht, welche perl-distribution du verwendest.
QuoteC:\>perl -v
This is perl 5, version 12, subversion 1 (v5.12.1) built for MSWin32-x86-multi-
hread
(with 3 registered patches, see perl -V for more detail)
Copyright 1987-2010, Larry Wall
Binary build 1201 [292674] provided by ActiveState http://www.activestate.com/
Built May 14 2010 00:34:27
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
1
2
3
Can't locate Tk.pm in @INC (@INC contains: C:/Perl/s
test line 6.
BEGIN failed--compilation aborted at thtest line 6.
2010-09-03T12:32:25 GwenDragonWieso OpenSuse?
Bist du sicher, dass du unter OpenSuse auch ActivePerl hast?
Ich habe jetzt immer noch keine Angabe von @INC von dir bekommen.
1. Was zeigt denn folgendes an: perl -e "print join qq(\n),@INC" wenn du es in der Windows- Eingabeaufforderung eingibst?
2. Was zeigt denn folgendes an: ppm list --matching Tk wenn du es in der Windows-Eingabeaufforderung eingibst?
1
2
3
4
5
6
C:\>perl -e "print join qq(\n),@INC
C:/Perl/site/lib
C:/Perl/lib
.
C:\>ppm list --matching Tk
No Perl script found in input
2010-09-03T13:15:17 GwenDragonWeiß du was, versuche doch einfach mal TK zu installieren, da es dein Perl nicht findet.
ppm install Tk
//EDIT:
Allerdings, wenn ich mich an Perl 5.12.1 und Tk 804.029 erinnere, gibt es wohl mit ActiveSTate Perl 5.12.1 kein Tk mehr, nur noch Tkx.