[Vienna-pm] Export & Import

Peter J. Holzer hjp-vienna-pm-list at hjp.at
Sat Aug 16 17:56:25 CDT 2003


Irgendwas habe ich aber offenbar nicht verstanden.

Ich habe ein Package SysDesc:

    package SysDesc;
    @ISA = qw(Exporter);
    @EXPORT_OK = qw(encode_param);
    @EXPORT = qw(); 
    [...]
    sub encode_param {
	 [...]
    }

Wenn ich nun ein Script schreibe:

    use SysDesc qw(encode_param);
    print encode_param("foo", "bar");

dann funktioniert das.

Wenn ich aber in einem anderen Package versuche, encode_param zu
verwenden:

    package SysDesc::UName;
    require Exporter;
    @ISA = qw(Exporter);
    use SysDesc qw(encode_param);

	for (sort keys %$self) {
	    $s .= " " . encode_param($_, $self->{$_});
	}

dann meint Perl:

    Undefined subroutine &SysDesc::UName::encode_param called at ...

Wenn ich encode_param auf ::encode_param ändere, ändert sich die
Fehlermeldung erwartungsgemäß auf:

    Undefined subroutine &main::encode_param called at ...

Aber wenn ich dann noch encode_param in SysDesc in @EXPORT statt
@EXPORT_OK schreibe, funktionierts. 

	hp

-- 
   _  | Peter J. Holzer    | Humor ohne Emoticons ist trockener Humor.
|_|_) | Sysadmin WSR       | 
| |   | hjp at hjp.at         |	-- Toni Grass in aip
__/   | http://www.hjp.at/ |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.pm.org/pipermail/vienna-pm/attachments/20030817/6243a8c5/attachment.bin


More information about the Vienna-pm mailing list