First off, Thanks, for the feedback.

To answer Chromatics question:

I should preface that I am an Architecture graduate, who dabbles in code. I have had no formal training in coding... so if the following sounds, well just wrong, it just may be.
I want, to create then manipulate and finalize as one continuos process on several files at once. Logic being If I can access multiple files at the same time I can process things faster. Therefore using a fixed filehandle, seems limiting.
Figured since I could create the file and name it based on a predetermined content, then I could edit based on the file name. To allow other scripts to manipulate files I would need to use a unique FILEHANDLE to call on, a at-runtime-variable-filehandle keyed to the content would keep each file unique, baring duplicates.

My initial test script to test the at-runtime-variable-filehandle idea worked, yet with the strict pragma invoked the test script failed. Thus my confusion... and the need for help.

After some thinking time and some Perlref reading, I think I figured things out...
Using $::{'comb'} instead of $comb or '$comb' for the OPEN function.
Using { $::{'comb'} } instead of $comb for the PRINT function.
If I understand correctly, the use of $::{'comb'} derefences the content of the $comb variable.
My previous use of the $comb variable, in the OPEN function worked since the string was accepted, and a filehandle was created. In the PRINT function, which expects a FILEHANDLE but will accept a { block }, the string caused a compile error when using the STRICT pragma.
Now the following code works w/ the STRICT pragma:
As Zaxo pointed out my previous posting had some errors, I incorrectly copied the code. I tried to trim the code to just what is needed... for it to work. I still have a long way to go...
require("hlpsymbgen.config"); # general variables use diagnostics; use strict; open (SCINDEX, "$::inputDir\\SymbolCategories.txt") || die "Failed to Open SymbolCategories.txt. \n"; my $comb; while (<SCINDEX>){ my $cat_title = $_; my $var_c = $_; my $sufix = "_INDEX"; if ($cat_title ne 'NULL' && $var_c =~ m/::/o == 0){ $cat_title =~ s/(^[A-Z]{4})(.*)/$1/o; $cat_title =~ s/\n|\r//g; $cat_title =~ s/\s//g; $comb = $cat_title . $sufix; open ($::{'comb'}, ">$::outputDir\\" . $cat_title . "index.html" +) || die "Failure to create" . $cat_title . "\n"; print { $::{'comb'} } $var_c . "content detail for file found\n"; close $::{'comb'}; } } close SCINDEX;
I don't know if the initial idea will work and I may end up having to use the fixed FILEHANDLE name. In the end whatever I end up with will be faster than doing by hand.
Thanks for the help.
joseph-

In reply to Re^2: How do you properly use a variable for FILEHANDLE in print vs open by Anonymous Monk
in thread How do you properly use a variable for FILEHANDLE in print vs open by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.