Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: [off-site] Perl snippets at Microsoft

by dragonchild (Archbishop)
on Mar 03, 2005 at 15:34 UTC ( #436247=note: print w/ replies, xml ) Need Help??


in reply to [off-site] Perl snippets at Microsoft

I peeked at one script and found the following:

  • no strict
  • no warnings
  • no taint
  • foreach my $foo ( in $stuff ) { ... } ... apparently Win32::OLE defines in()?

I'd be worried if my Windows sysadmin suddenly asked me for my Camel ...

Being right, does not endow the right to be rude; politeness costs nothing.
Being unknowing, is not the same as being stupid.
Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.


Comment on Re: [off-site] Perl snippets at Microsoft
Download Code
Re^2: [off-site] Perl snippets at Microsoft
by fglock (Vicar) on Mar 03, 2005 at 15:43 UTC

    foreach my $foo ( in $stuff ) { ... } ... apparently Win32::OLE defines in()?

    Yes it does:

    use Win32::OLE('in'); ...

    in(COLLECTION) - If COLLECTION is an OLE collection object then in $COLLECTION returns a list of all members of the collection. This is a shortcut for Win32::OLE::Enum-All($COLLECTION).

Re^2: [off-site] Perl snippets at Microsoft
by thor (Priest) on Mar 04, 2005 at 12:20 UTC
    The absence of strict, warnings, and taint don't necessarily imply a bad script. I'll grant that they increase the chances that a script doesn't do what are commonly accepted as "bad" things, but they are not necessary. There are some I know that code under strict and warnings, but then remove them when the final cut is made so as not to be anti-social and assume that everyone wants these module loaded. If there was only One True Way to code Perl, those modules wouldn't be modules, they'd be part of the language spec.

    thor

    Feel the white light, the light within
    Be your own disciple, fan the sparks of will
    For all of us waiting, your kingdom will come

      The absence of strict, warnings, and taint don't necessarily imply a bad script.

      No, it doesn't. Each is useful for different purposes.

      • strict is useful is you plan on ever making a change to the thing as it will decrease the time you need to do so safely.
      • warnings is useful is you are a less-experienced developer.
      • taint is useful if you are taking information from an untrusted source.

      Of these three, I would add strict and taint. Warnings are ... annoying in production code. I take it out in my CPAN stuff. I would add taint because I'm not sure what Win32::OLE is going to return to me. I'd like to see if Perl trusts it before I do.

      Being right, does not endow the right to be rude; politeness costs nothing.
      Being unknowing, is not the same as being stupid.
      Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
      Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.

Re^2: [off-site] Perl snippets at Microsoft
by Anonymous Monk on Mar 04, 2005 at 13:13 UTC
    Yes, and? strict is a 100% development aid, warnings mostly is as well, and the majority of the programs doesn't need taint to be turned on. Your complaint sounds like "I don't think this building is good. The constructor didn't leave the scaffoldings".
Re^2: [off-site] Perl snippets at Microsoft
by Anonymous Monk on Mar 04, 2005 at 13:22 UTC
    I looked at a handful of scripts, and they are similar: a use statement, importing the 'in' function, definition of two constants, three assignments, and a loop, whose body consists of nothing more than print statements.

    Such programs don't really need strict, warnings or taint. I would have 'my'ed the variables, but that doesn't add much.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (10)
As of 2014-09-16 16:17 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (33 votes), past polls