Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Writing to a packaged file with PerlApp

by batkins (Chaplain)
on Nov 11, 2003 at 14:00 UTC ( [id://306190]=note: print w/replies, xml ) Need Help??


in reply to Writing to a packaged file with PerlApp

Your PATH and @INC are irrelevant. open relies only on the path information you pass to it. However, since you're using PerlApp, you need to use a utility function to extract the file from the EXE. Something like this:
my $filename = PerlApp::extract_bound_file($datafile); open my $fh, ">$filename";
I'm not sure why you're writing to the file, though, because it's really only a temporary file. You may want to rethink that. Files bundled into the EXE are designed for reading - changes you make won't end up back in the EXE. Instead, the temporary file will be changed.

There's more information here.

Are you sure it was a book? Are you sure it wasn't.....nothing?

Replies are listed 'Best First'.
Re: Re: Writing to a packaged file with PerlApp
by perl_seeker (Scribe) on Nov 14, 2003 at 09:18 UTC
    Hello,
    thanks for the reply.

    >open relies only on the path information you pass to it.

    Here I cannot specify the path name since a process id also gets attached to the temp. folder name at run time e.g
    c:\windows\temp\pdk-username--(what process-id to write here?)\mytextf +ile.txt
    >you need to use a utility function to extract the file from the EXE

    I've tried using code like this in my .pl
    sub chfile { ....... my $datafile = "myfile.txt"; my $filename = PerlApp::extract_bound_file($datafile); die "$datafile not bound to application\n" unless defined $filename; my $fh="LEX"; open($fh,'$filename') or die "Can't open $datafile $filename)\n"; while(<LEX>){ ...... } }
    When I create the .exe using PerlApp and run it , the exe cannot open myfile.txt. I keep getting this error:
    Tk:Error:Can't open myfile.txt <c:\test\pdk-myname--121077199/myfile.t +xt>[\&main::chfile]
    What am I doing wrong here?

    >I'm not sure why you're writing to the file, though, because it's really only a temporary file.

    PerlApp treats the attached text files as temporary ones, but in the application I've written they are not temorary.
    The .pl script needs to read data from the text file,process it, and also update it (append to it).Each time the .exe
    runs, the .pl script needs to use the updated version of the text file, that was created in the previous run.

    Is there no way to get around this?
    Thanx,
    :)

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://306190]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (5)
As of 2024-03-28 23:10 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found