[Perl] Kan module niet vinden ondanks in @INCL

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Met de onderstaande code:

Perl:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use File::Temp qw( :POSIX );

my $debug = 0;
if (@ARGV and $ARGV[0] eq '-d') {
    my $fh = tmpfile();
    open STDERR, ">&fh";
    $debug = 1;
} else {
    # We do not want STDERR to clutter our screen.
    my $fh = tmpfile();
    open STDERR, ">&fh";
}

use File::Find;
use lib "/usr/share/perl5/Curses";
use Curses;
use Curses::UI;


Krijg ik deze foutmelding:

Could not load Curses::UI:: from Curses/UI/.pm:
Can't locate Curses/UI/.pm in @INC (@INC contains: /home/chris/experimental/../lib ../lib /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10
/usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/share/perl5/Curses/UI.pm line 846.


Ik heb op internet gestruind en toen kwam ik tot het gebruik van File::Find. Maar dit werkt niet en het vreemde is dat de module wel in de @INC path staat.

Kan iemand mij helpen hiermee?

Acties:
  • 0 Henk 'm!

  • bindsa
  • Registratie: Juli 2009
  • Niet online
Als ik het zo zie gaat het hier mis:

code:
1
 Curses/UI/.pm


Wat waarschijnlijk moet zijn:

code:
1
 Curses/UI.pm


Overigens zie ik hem ook niet in de @INC staan (of kijk ik scheel?).

Acties:
  • 0 Henk 'm!

  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 11-09 21:35
De codesnippet werkt hier wel. Wat is de complete code?

Wellicht gaat er ergens iets mis bij het toevoegen van een Widget (Curses::UI::add() )

[ Voor 45% gewijzigd door Keiichi op 05-05-2010 10:37 ]

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Keiichi schreef op woensdag 05 mei 2010 @ 10:33:
De codesnippet werkt hier wel. Wat is de complete code?

Wellicht gaat er ergens iets mis bij het toevoegen van een Widget (Curses::UI::add() )
Dat was het probleem |:(

/me zal zich twee keer bedenken voordat hij een topic opent ergens over tweeën in de nacht :$

Ik wil je wel de code laten zien maar dan is het schaamteloze reclame voor mijn project. :P :+

Acties:
  • 0 Henk 'm!

  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 11-09 21:35
Het is ook altijd leuk om even de bron van modules te checken.

Perl:
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
sub usemodule($;)
{
    my $self = shift;
    my $class = shift;

    # Create class filename.
    my $file = $class;
    $file =~ s|::|/|g;
    $file .= '.pm';

    # Automatically load the required class.
    if (not defined $INC{$file})
    {
        eval
        {
            require $file;
            $class->import;
        };

        # Fatal error if the class could not be loaded.
        $self->fatalerror("Could not load $class from $file:\n$@")
            if $@;
    }

    return $self;
}


Waarna het al heel snel duidelijk word :) (Deze subroutine wordt maar op 1 andere plek gebruikt)

[ Voor 3% gewijzigd door Keiichi op 05-05-2010 11:09 ]

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/