Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

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 open.pm'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 (Pope) 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?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://720669]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (4)
As of 2017-11-24 04:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:













    Results (344 votes). Check out past polls.

    Notices?