http://qs321.pair.com?node_id=559844


in reply to Re: File modification
in thread File modification

It's true you don't need the 3-argument open, but I believe it's considered good programming practice, if for no other reason than getting users in the habit of using safer code.

Your example has other issues, though.  While it's true you're exiting if the argument isn't numeric, it might be confusing to the user not to get a syntax message.  And if no argument is given, instead of a more friendly syntax message one gets:

Use of uninitialized value in pattern match (m//) at ./mytest line 8.

Additionally, because of the '$' in the regex, there's the problem of input which doesn't contain digits at the very end, which will fail even if there's an extra newline in the input:

Use of uninitialized value in pattern match (m//) at ./mytest line 15.


s''(q.S:$/9=(T1';s;(..)(..);$..=substr+crypt($1,$2),2,3;eg;print$..$/