Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

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'

Replies are listed 'Best First'.
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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://972784]
Discipulus wonders if just numbers less than 18 are really floating..( chemical humor)
[Lady_Aleena]: Hello.
[Discipulus]: ciao Lady_Aleena
[chacham]: hi

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (4)
As of 2017-06-26 21:05 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (594 votes). Check out past polls.