Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Conditional Compiling

by ikegami (Patriarch)
on Nov 19, 2004 at 18:16 UTC ( [id://409098]=note: print w/replies, xml ) Need Help??


in reply to Conditional Compiling

For some reason, I thought I had to use a seperate module for the sub () {} optimizations to occur, but the following works fine.

use strict; use warnings; use vars qw( $LOG_FILE_NAME ); BEGIN { if (@ARGV && $ARGV[0] =~ /^-?-log(?:=(.*))?$/) { *LOGGING = sub () { 1 }; $LOG_FILE_NAME = $1; } else { *LOGGING = sub () { 0 }; } } if (LOGGING) { if (defined($LOG_FILE_NAME)) { open(LOG_FH, '>>', $LOG_FILE_NAME) or die("Can't open log file: $!\n"); } else { open(LOG_FH, '>&STDERR') or die("Can't dup STDERR: $!\n"); } } print LOG_FH ('Opening log file at '.localtime().".$/") if LOGGING;

perl -MO=Terse script.pl

LISTOP (0x1df5678) leave [1] OP (0x1df55fc) enter COP (0x1df56c0) nextstate OP (0x1ba3544) null [5] COP (0x1df563c) nextstate OP (0x1df53f8) null [5] script.pl syntax OK

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (4)
As of 2024-04-19 03:36 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found