Thread Module einbinden (20 answers)
Opened by Gast at 2008-06-06 13:21

Gast Gast
 2008-06-06 13:21
#110806 #110806
Hi!

Wo hängt es hier:

/home/mm/perl/prime.pm
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#! /usr/bin/perl -w
use strict;

package prime;
require Exporter;
our @ISA = qw(Exporter);
our @Export = qw(is_prime);
our $Version = 1.00;

sub is_prime {
        return 0 if int( $_[0] ) != $_[0];
        return 0 if $_[0] == 1;
        return 0 if $_[0] % 2 == 0 && $_[0] != 2;
   my $limit = int( sqrt( $_[0] ) ) + 1;
        for ( my $l = 3; $l <= $limit; $l += 2 ) {
                return 0 if $_[0] % $l == 0;
        }
        return 1;
}
1;


Wenn ich veruche, die Subroutine "is_prime" so aufzurufen

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
#! /usr/bin/perl -w
use strict;
use lib '/home/mm/perl/';
use prime;



foreach my $n ( 2..20 ) {
        print "$n ist eine Primzahl\n" if is_prime( $n );
}

bekomme ich diese Fehlermeldung: "Undefined subroutine &main::is_prime called at ./test.pl line 9."
Mit "print "$n ist eine Primzahl\n" if prime::is_prime( $n );" funktioniert es.

View full thread Module einbinden