Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re^4: Wrong idioms

by vsespb (Chaplain)
on Mar 30, 2013 at 09:36 UTC ( #1026259=note: print w/replies, xml ) Need Help??

in reply to Re^3: Wrong idioms
in thread Wrong idioms

There is no strict criteria.

If you don't ever assign values to them, there's no reason they'd need to exist at all.
if you use it - localize it, and don't call other modules inside scope.

File::Find uses user's $; and it won't be fixed

Sad there is not Perl documentation saying in which case those variables should be localized (or there is?).

What do you think about modules that can't handle file names that contain quotes?

Or a newline?
small bug (user is just waiting for troubles with those filenames)

What about not handling non-ASCII file names
means module does not support Unicode or specific platform (some perl core modules doest not support unicode - this is the criteria)

for which there seems to be no cross-platform way of handling them corectly
It depends on what's "handling". I think there is way to just open files, crossplatform (except non Unicode platforms). Anyway, looks like a bug (if undocumented) or missing feature (if listed as known bugs). btw File::Find has open bugs for it.

Based on what criteria do you draw that line?
The big difference, that programmer control perl variables, but does not control user's filenames. Also it depends on what program do. If it just open a one user supplied file - it's one case. If it searches files on disk and opens each of them - even user cannot control filenames, so it should handle (or at least catch an error) any valid filename.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1026259]
and God said, "Let Newton be!"...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (4)
As of 2018-06-22 23:59 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (124 votes). Check out past polls.