Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

RE: File Input and Output

by LeGo (Chaplain)
on Aug 02, 2000 at 18:02 UTC ( #25729=note: print w/replies, xml ) Need Help??

in reply to File Input and Output

I wanted to add a bit that I have learned to help you when you start to program and have errors.

It is always good to make sure the file you are opening opens. Because if it doesn't the program will just keep running with no errors and you will not get your desired results. The easiest way to do this is.

open (FILE, "file") || die "file could not be opened";
Then as you program more you will probably do something more like this in all of your programs.

$file = "some_file.txt"; open(FILE,"$file") or &Error($!);
And then at the end of your code where you put your subs put this.

sub Error { $error = shift or $error = "unknown"; print "Sorry, but there was an error. Could not open $file"; print "Error: $error"; &End; }
Another thing that is good to do is to make sure that your close is successful.
close FILE or die "Could not close $file";
And as before you can write special subroutines to help specify your error for closing. This is very helpful when writing CGI scripts and making them look good when they do not open or close files.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://25729]
Corion idly wonders about creating a series of HTTP requests. There seems to be no framework to generate a series of HTTP requests, like "try all these requests"
[Corion]: This is vaguely inspired by that list of "nasty" strings, which I'd like to replace among HTTP parameters, just to see whether the application crashes, but also for easy downloading of a list of URLs etc
[Corion]: Maybe I'll just conoct something using Algorithm::Permute to create an (OO) generator for such requests, or a simple function.
[Corion]: For testing I imagine one would want to test a random sampling of such "bad"/"unexpected" requests, while for downloading, one would want to generate them all in order, but not necessarily as a huge list

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (9)
As of 2017-01-16 15:40 GMT
Find Nodes?
    Voting Booth?
    Do you watch meteor showers?

    Results (151 votes). Check out past polls.