/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
finde sti paa en pakke..
Fra : Soren Davidsen


Dato : 05-04-03 09:58


Hej NG,

Jeg er maaske lidt forvandt med Java, ihvertfald proever jeg at
goere noget ala:

--
package My::Loader;

sub new {
my $this = {};
bless $this;

$this->loadResource("data.txt");

return $this;
}

sub loadResource {
my ($this, $filename) = @_;

open FH, $STI_TIL_PERL_PAKKE . "/" . $filename;
my $t = join "", <FH>;
close FH;
}

... flere funktioner ..

--

Dvs. jeg vil gerne have at data.txt ligger i samme katalog som min
Loader.pm ($STI_TIL_PERL_PAKKE), saa de kan distribueres sammen ..
Nogen der kan hjaelpe mig med hvordan man goer det ?


Mvh,

--
___
Soren Davidsen / o\
Math student, ICSMA (_____)
__ http://www.tanesha.net/ _________________________________(___)_______

 
 
Morten Guldager (05-04-2003)
Kommentar
Fra : Morten Guldager


Dato : 05-04-03 12:27

Sat, 05 Apr 2003 at 08:58 GMT Soren Davidsen wrote
>
> Dvs. jeg vil gerne have at data.txt ligger i samme katalog som min
> Loader.pm ($STI_TIL_PERL_PAKKE), saa de kan distribueres sammen ..

Hmm, aner det ikke.

En mulighed var at lede i de kataloger der er listet i @INC.

En anden mulighed er at bruge Data::Dumper på main og så se
om der er en intern variabel der kan bruges.

Ingen af løsningerne er elegante, men måske brugbare.


/Morten

Morten Guldager (05-04-2003)
Kommentar
Fra : Morten Guldager


Dato : 05-04-03 13:01

Sat, 05 Apr 2003 at 11:26 GMT Morten Guldager wrote
> Sat, 05 Apr 2003 at 08:58 GMT Soren Davidsen wrote
>>
>> Dvs. jeg vil gerne have at data.txt ligger i samme katalog som min
>> Loader.pm ($STI_TIL_PERL_PAKKE), saa de kan distribueres sammen ..
>
> Hmm, aner det ikke.
>
> En anden mulighed er at bruge Data::Dumper på main og så se
> om der er en intern variabel der kan bruges.

HA! se her:

my $path = *::INC->{'MIN_PAKKE.pm'};

giver: underkatalog/MIN_PAKKE.pm


/Morten

Soren Davidsen (05-04-2003)
Kommentar
Fra : Soren Davidsen


Dato : 05-04-03 14:21

Morten Guldager <spamtrap@mogul.dk> writes:

> Sat, 05 Apr 2003 at 11:26 GMT Morten Guldager wrote
> > Sat, 05 Apr 2003 at 08:58 GMT Soren Davidsen wrote
> >>
> >> Dvs. jeg vil gerne have at data.txt ligger i samme katalog som min
> >> Loader.pm ($STI_TIL_PERL_PAKKE), saa de kan distribueres sammen ..
> >
> > Hmm, aner det ikke.
> >
> > En anden mulighed er at bruge Data::Dumper på main og så se
> > om der er en intern variabel der kan bruges.
>
> HA! se her:
>
> my $path = *::INC->{'MIN_PAKKE.pm'};
>
> giver: underkatalog/MIN_PAKKE.pm

Aev, jeg kunne ikke lige faa det der til at funge.. Men, at lede
i @INC var selvf. loesningen, tak ! .


Mvh,

--
___
Soren Davidsen / o\
Math student, ICSMA (_____)
__ http://www.tanesha.net/ _________________________________(___)_______

Morten Guldager (05-04-2003)
Kommentar
Fra : Morten Guldager


Dato : 05-04-03 14:55

Sat, 05 Apr 2003 at 13:20 GMT Soren Davidsen wrote
> Morten Guldager <spamtrap@mogul.dk> writes:
>
>> Sat, 05 Apr 2003 at 11:26 GMT Morten Guldager wrote
>> > Sat, 05 Apr 2003 at 08:58 GMT Soren Davidsen wrote
>> >>
>> >> Dvs. jeg vil gerne have at data.txt ligger i samme katalog som min
>> >> Loader.pm ($STI_TIL_PERL_PAKKE), saa de kan distribueres sammen ..
>> >
>> > Hmm, aner det ikke.
>> >
>> > En anden mulighed er at bruge Data::Dumper på main og så se
>> > om der er en intern variabel der kan bruges.
>
> Aev, jeg kunne ikke lige faa det der til at funge..

Jeg gjorde sådan her:

use Data::Dumper;
$Data::Dumper::Purity = 1;
print Dumper(\%main::);

Så pipede jeg output ind i less og ledte efter "underkatalog"


/Morten

Flemming Frandsen (05-04-2003)
Kommentar
Fra : Flemming Frandsen


Dato : 05-04-03 20:52

Soren Davidsen wrote:
> Dvs. jeg vil gerne have at data.txt ligger i samme katalog som min
> Loader.pm ($STI_TIL_PERL_PAKKE), saa de kan distribueres sammen ..
> Nogen der kan hjaelpe mig med hvordan man goer det ?

Hmm, hvad er der galt med at putte det data i din .pm?

Enten som en datastruktur dumpet med Data::Dumper (så klarer perl
parsningen og den er meget hurtigere til det end perlkoden er)

.... eller ved at putte dit data ind i slutningen af modulet efter:
__DATA__ og så bare læse filen ind fra DATA fil-handlet.

--
Regards Flemming Frandsen - http://dion.swamp.dk
PartyTicket.Net co founder & Yet Another Perl Hacker


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste