http://qs321.pair.com?node_id=273475


in reply to using arrays insteaed of files

We need more information.

It's hard to offer you help without knowing what the test() routine expects as input. If it is truly expecting a filename, then there is no simple way to fool it into accepting the data in another form.

Show us the test() routine or tell us more about what it expects as input.

Is the test() routine something you have control over (can you re-write it)? Or is it something you have to deal with as-is?

Or... tell us what you are really trying to accomplish. We may be able to suggest a better way to approach the problem.

------------------------------------------------------------
"Perl is a mess and that's good because the
problem space is also a mess.
" - Larry Wall

Replies are listed 'Best First'.
Re: Re: using arrays insteaed of files
by Anonymous Monk on Jul 11, 2003 at 17:22 UTC
    Hi, It looks like it is actually expecting a filename.
    open(DATABASE, "$database"); while (<DATABASE>) {}

    The file has a list of names. I guess the question how do I get the sub to look for an @array that contains a list of names instead.
      Excellent! Now we are getting somewhere...

      Next question: Are you free to modify the test() routine? If so, it would probably be good to show us the whole routine (if it is not too long).

      Or are you stuck with it as-is and asking how (without changing the test() routine) to get around its requirement for a filename when you want to pass it a string of data instead?

      UPDATE: As I understand your response below, you want to leave the test() routine untouched and get around its requirement for a filename so you can pass it a string of data instead.

      That is the messier option. I am out of time so I have to run. If I were faced with this and really needed to do what you describe, I would write a little routine that wrote an array to a file so I could do something like:

      test( array2file(@my_array) )
      Where array2file wrote the data to the file in proper form and returned the name of that file so that the test() routine would get what it needed to do its work.

      If that is *really* what you want, perhaps someone else will offer some code. Sorry, gotta run.

        Probably get around its requirement for a filename and pass it a string of data instead?