Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re^2: Insane (?) Regexp-based jpeg (JFIF) extractor...

by blazar (Canon)
on Oct 31, 2008 at 10:17 UTC ( #720669=note: print w/replies, xml ) Need Help??

in reply to Re: Insane (?) Regexp-based jpeg (JFIF) extractor...
in thread Insane (?) Regexp-based jpeg (JFIF) extractor...

I personally believe that you were very kind to let me know. But at the same time I must say that I have actually tested it several times (well, three files, actually) under Windows and it worked as expected: was I just lucky?

So... I used open because it seemed the quickest and cleanest WTDI, but what do you propose as a workaround or solution? (Short of manually open()ing the files of course...)

Update: I just actually checked with one single jpeg image and found an actual example that supports your claim. Incidentally, I would say that's docs do not make it clear enough that it won't work with <>.

If you can't understand the incipit, then please check the IPB Campaign.

Replies are listed 'Best First'.
Re^3: Insane (?) Regexp-based jpeg (JFIF) extractor...
by ikegami (Patriarch) on Nov 02, 2008 at 20:55 UTC
    By the way, I found open doesn't work on open(my $fh, '-') either.

      I personally believe this is too bad. In principle it's such a wonderful pragma! Perhaps you should file a bug report. As far as open not affecting *ARGV is concerned, I would still consider that a bug too, since the documentation clearly says:

      The open pragma serves as one of the interfaces to declare default "layers" (also known as "disciplines") for all I/O.

      (Additional emphasis is mine.)

      OTOH, it also says:

      Any two-argument open(), readpipe() (aka qx//) and similar operators found within the lexical scope of this pragma will use the declared defaults. Even three-argument opens may be affected by this pragma when they don't specify IO layers in MODE.

      (Additional emphasis is mine.)

      Here, it is to be noticed that:

      • it talks of "two-argument open(), readpipe() (aka qx//) and similar operators found [...]" which may be interpreted to exclude implicit "versions" of the same functions/operators;
      • that emphasized "may" is at most ambiguous and I would like to know which is the actual behaviour.

      As far as the second point is concerned, I also think that it would be more reasonable to have three-argument opens always alway affected by the pragma, since it just "declares default "layers" for all I/O" and IMHO if they specify IO layers in MODE, then the latter ones should be simply stacked over the default ones.

      If you can't understand the incipit, then please check the IPB Campaign.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://720669]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (2)
As of 2022-01-16 20:08 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (49 votes). Check out past polls.