Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

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]
[Veltro]: ok, but nm. I meant the solution as a whole actually. Not sincerely the apps that use it
[marto]: and not long ago it wasn't feasible for anyone really to create a finger print of all known music to compare samples against...
[marto]: if you're living in the cloud, you're going to get rained on :P
[Veltro]: feasible in the sense of 'making money'?
[marto]: if your app just calls a remote or third party service to do the task, you app does not 'do the task', it's just a messenger
[marto]: in the sense that for various values of "a while ago" it would not have been possible (and arguable still isn't) to have a fingerprint of every piece of commercially released music to compare against.
[marto]: a co-worker refers to the late 1980s as "a while ago"
[Veltro]: Like I said before, I ment the solution as a whole

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (8)
As of 2018-05-24 12:06 GMT
Find Nodes?
    Voting Booth?