Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: how to have / in FILEHANDLE?

by tobyink (Abbot)
on May 28, 2012 at 06:45 UTC ( #972784=note: print w/ replies, xml ) Need Help??


in reply to how to have / in FILEHANDLE?

You can't have a slash in a filename for the same reason you can't have one in a sub name:

sub hello/world { say "Hello World"; }

Subs and non-lexical filehandles are declared using a "bareword", and barewords can't contain slashes. A better question is why in the name of all that is good and holy would you want to do this?!

You do know that the file handle and the file name have nothing to do with each other?

OK, I'll admit I lied earlier. It is possible to name a sub with a slash. You just need to declare it and call it using unusual syntax...

*{'hello/world'} = sub { print shift, "\n"; }; &{'hello/world'}("Hello World!");

And similarly it can be done with filehandles...

open *{'hello/world'}, '>', '/home/tai/tmp/helloworld.txt'; print {*{'hello/world'}} "Hello World!\n";

The "why in the name of all that is good and holy" question still stands though.

Nowadays there's rarely any excuse to not be using lexical file handles. (i.e. file handles declared using the my keyword.)

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'


Comment on Re: how to have / in FILEHANDLE?
Select or Download Code
Re^2: how to have / in FILEHANDLE?
by Anonymous Monk on May 28, 2012 at 07:26 UTC

    And similarly it can be done with filehandles...

    Like the OP shows, the globularness isn't required, just quote a string

    open '/ugly', 'foo.txt' or die $!; print readline '/ugly'; close '/ugly';

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2014-12-25 13:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (160 votes), past polls