Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re: Re: Re: read/write subroutine

by damian1301 (Curate)
on Jun 29, 2001 at 23:47 UTC ( #92786=note: print w/replies, xml ) Need Help??

in reply to Re: Re: read/write subroutine
in thread read/write subroutine

You can simplify that wantarray call by adding a return in front and then letting the ternary operators do the rest like so:

return wantarray ? @file : join '', @file;

And here is my slightly changed version of your code.
#!/usr/bin/perl sub io { # usage: # @array = io('read',$file) # $string = io('read',$file) # io('write',$file,\$string) # io('write',$file,\@array) my($bit,$file,$data) = @_; if($bit eq 'read'){ open IO,"< $file" or die "Cannot open $file for input: $!\n"; my @file = <IO>; close IO; return wantarray ? @file : join '', @file; } if($bit eq 'write'){ open IO,"> $file" or die "Cannot open $file for output: $!\n"; print IO ref $data eq 'ARRAY' ? @$data : ref $data eq "SCALAR"? $ +$data : ''; close IO; } } $string = "YO!"; io('write','file.txt',\$string);
This way everything is passed as references and it deletes an extra line of code. :)

$_.=($=+(6<<1));print(chr(my$a=$_));$^H=$_+$_;$_=$^H; print chr($_-39); # Easy but its ok.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://92786]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2017-01-24 11:45 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (204 votes). Check out past polls.