in reply to include statement in perl?

Update Corrected @ARGV to *ARGV to correct the error noted by Aristotle++ below.

use strict; use warnings; use CGI; .... print do{ local (*ARGV,$/), @ARGV='files/my.html'; <> }; # Hic! ....

Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller


Replies are listed 'Best First'.
Re^2: include statement in perl? (idiom with caveats)
by Aristotle (Chancellor) on May 31, 2003 at 03:16 UTC

    Just be careful that the ARGV filehandle is not currently open on another file, otherwise it won't quite do what you expected.

    Update: localizing the entire *ARGV glob works, but doesn't work in less than recent Perls - it breaks on less than 5.8, IIRC 5.6 - see (tye)Re: Cheap idioms.

    Makeshifts last the longest.

      If it's good enough for tye, it's good enough for me:)


      Examine what is said, not who speaks.
      "Efficiency is intelligent laziness." -David Dunham
      "When I'm working on a problem, I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong." -Richard Buckminster Fuller