[13883] in Perl-Users-Digest

home help back first fref pref prev next nref lref last post

Perl-Users Digest, Issue: 1293 Volume: 9

daemon@ATHENA.MIT.EDU (Perl-Users Digest)
Mon Nov 8 14:12:53 1999

Date: Mon, 8 Nov 1999 11:12:44 -0800 (PST)
From: Perl-Users Digest <Perl-Users-Request@ruby.OCE.ORST.EDU>
To: Perl-Users@ruby.OCE.ORST.EDU (Perl-Users Digest)
Message-Id: <942088364-v9-i1293@ruby.oce.orst.edu>
Content-Type: text

Perl-Users Digest           Mon, 8 Nov 1999     Volume: 9 Number: 1293

Today's topics:
    Re: Another 'or'? was [perl double-split] <bernie@fantasyfarm.com>
    Re: Another 'or'? was [perl double-split] <bernie@fantasyfarm.com>
    Re: Another 'or'? was [perl double-split] lee.lindley@bigfoot.com
    Re: Another 'or'? was [perl double-split] (Abigail)
    Re: Another 'or'? was [perl double-split] (Ilya Zakharevich)
    Re: Another 'or'? was [perl double-split] (Abigail)
    Re: Another 'or'? was [perl double-split] <uri@sysarch.com>
    Re: Another 'or'? was [perl double-split] (Ilya Zakharevich)
    Re: Another 'or'? was [perl double-split] lee.lindley@bigfoot.com
    Re: Another 'or'? was [perl double-split] <uri@sysarch.com>
    Re: Another 'or'? was [perl double-split] (Martien Verbruggen)
    Re: Another 'or'? was [perl double-split] (Abigail)
        anybody know of any virtual source code mgt scripts? (Michael Budash)
    Re: anybody know of any virtual source code mgt scripts (Martien Verbruggen)
    Re: anybody know of any virtual source code mgt scripts (Michael Budash)
    Re: Autoloader won't find files <rootbeer@redcat.com>
        Batch Program Execution <vn8@sfsws1.de.lucent.com>
    Re: Batch Program Execution (Kragen Sitaker)
        Digest Administrivia (Last modified: 16 Sep 99) (Perl-Users-Digest Admin)

----------------------------------------------------------------------

Date: Fri, 05 Nov 1999 23:13:26 -0500
From: Bernie Cosell <bernie@fantasyfarm.com>
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <v6MjOCwrpOFMXBZbzjIc4VCEshD5@4ax.com>

abigail@delanet.com (Abigail) wrote:

} Bernie Cosell (bernie@fantasyfarm.com) wrote on MMCCLV September MCMXCIII
} in <URL:news:2z8gOC+WEaeVGdOKN7uAKcSiXdqy@4ax.com>:
} ;; 
} ;; 
} ;; I actually agree, in part, with a remark that someone else made: Perl would
} ;; then have *four* 'or' operators [|  ||  or  ??] and all of a sudden you'll
} ;; have new [and *much* more subtle, IMO] bugs with folk picking the wrong
} ;; ones.  I can only wonder, in the large, if this kind of
} ;; relatively-minor-improvement will, on balance, cause more bugs than it'll
} ;; cure....
} 
} 
} The operators aren't the cause of the potential bugs. The differences
} between defined and false are.
} 
} Not having a boolean type and a handful of "false" values is sometimes
} convenient, but on the other hand, a royal pain in the ass.

Agreed, and that's certainly the heart of the matter.  [you run into the
same pita when you first discover the hidden 'defined' magic in <FH>]

} And so what that we have four operators that might be called "or"?
} We have four looping constructs, (or 6, depending how you count)
} as well, and noone complains about that.

Eh?  This is too pat: you've conflated a _single_ operation ['or'] with a
whole class of control-functions ('looping constructs').  Not at all the
same.   This is more like "unoverloading" --- where you have an add
operator, and a floating-add operator and an unsigned-add operator and a
double-add operator and you have to remember to use the right one or your
program will silently miscalculate and leave you to wonder why it isn't
working when the expression looks _so_ correct when you just read it...
I'm not arguing for operator-minimalism, just wondering if the subtleties
among the various flavors of 'or' will, on balance, be a net win or not...

And I appreciate that this operator [??] hasn't been proposed as
whimsically and/or casually as it would appear the various kitchen-sink
operators have been added to the RE engine.  I'm not arguing on the basis
of "perl has too many operators", but only whether this one is all that
semantically clear or called-for.


} Perl is supposed to be the programmers friend. Denying `??' with the
} argument "it's not needed", isn't very Perlisque. If you don't like it;
} don't use it. Don't deny others the right to have it.

Indeed, and I probably won't use it.  I still find "say what you mean"
rather than "use the latest syntactic hack to save a few characters" as a
better overall programming practice, but I know that others don't, and so
be it. It is one thing when a new operator makes clear something that used
to be difficult to express clearly or has some substantial secondary
benefit[*], but in this case it just saves a few characters and so I'm
altogether less enthusiastic.. I might start using it but certainly the
lure of having my one of my programs be 101,950 characters long instead of
102,000 because I used this new operator in a handful of places isn't all
that enticing to me...
   [*] e.g., something like $a += 7; has the secondary benefit of only
evaluating '$a' once.  If it is something complicated [like a complicated
multilevel array/structure reference] that could be a nontrivial advantage
even beyond the clarity of expression [when what you want to do is
"increment $a by 7" and the operator, in this case, allows you to write
exactly what you meant].

And along those lines, for those of us who don't follow p5p, will there be
an '!!' operator for an 'and' equivalent to go with it?

  /Bernie\
-- 
Bernie Cosell                     Fantasy Farm Fibers
bernie@fantasyfarm.com            Pearisburg, VA
    -->  Too many people, too few sheep  <--          


------------------------------

Date: Fri, 05 Nov 1999 23:35:35 -0500
From: Bernie Cosell <bernie@fantasyfarm.com>
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <76ojOJmrqTi==AieWp0LipW2N0S+@4ax.com>

bart.lateur@skynet.be (Bart Lateur) wrote:

} Bernie Cosell wrote:
} 
} >I actually agree, in part, with a remark that someone else made: Perl would
} >then have *four* 'or' operators [|  ||  or  ??] and all of a sudden you'll
} >have new [and *much* more subtle, IMO] bugs with folk picking the wrong
} >ones.
} 
} I'm not sure. Actually, I suspect that most current uses of || actually
} are intended to behave as "??" would. "My strings will never be empty",
} and "my strings will never be '0'" is an assumption that is made far too
} often. So it could well be that "??" would become the most often used
} "or".

I agree.  The sort of hidden question in my inquiry was the one Abigail
observed: the real root problem is that Perl's handling of Booleans is
really underdesigned and leads to all sorts of subtle traps.  Perhaps I
should rephrase my inquiry: is just this addition, ??, a good thing? Or
would perl benefit more by having its handling of boolean values rethought?
[the latter probably not possible, alas...]

For example, perhaps there should be a new 'while' operator that instead of
doing a boolean test it does 'defined' test, ala ??, so that if you write:
    whiled ($line = <>)  [for 'while defined']
it'd actually be correct.  'patching' perl's syntax to deal with the
parallel boolean universe [in which 'undef' rather than '0' means false] in
every boolean context doesn't strike me as a particular useful exercise...
The problem, IMO, runs more deeply than can be effectively dealt with by a
series of syntactic bandaids...

  /Bernie\
-- 
Bernie Cosell                     Fantasy Farm Fibers
bernie@fantasyfarm.com            Pearisburg, VA
    -->  Too many people, too few sheep  <--          


------------------------------

Date: 6 Nov 1999 05:23:44 GMT
From: lee.lindley@bigfoot.com
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <800e10$45f$2@rguxd.viasystems.com>

Bernie Cosell <bernie@fantasyfarm.com> wrote:
:>For example, perhaps there should be a new 'while' operator that instead of
:>doing a boolean test it does 'defined' test, ala ??, so that if you write:
:>    whiled ($line = <>)  [for 'while defined']
:>it'd actually be correct.  'patching' perl's syntax to deal with the
:>parallel boolean universe [in which 'undef' rather than '0' means false] in
:>every boolean context doesn't strike me as a particular useful exercise...
:>The problem, IMO, runs more deeply than can be effectively dealt with by a
:>series of syntactic bandaids...

I have been made painfully aware that what you describe above
is completely and painstakingly described in perlop.  Thankyou for
making the same mistake and making me feel less like an idiot
for missing it.  In other words, welcome to the dunce's corner.  :-)

These guys have already been there and done that and so you and
I are left looking like preschoolers who have just dicovered that
adults laugh at potty jokes but don't really think they are funny.


-- 
// Lee.Lindley   /// I used to think that being right was everything.
// @bigfoot.com  ///  Then I matured into the realization that getting
////////////////////   along was more important.  Except on usenet.


------------------------------

Date: 6 Nov 1999 00:40:32 -0600
From: abigail@delanet.com (Abigail)
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <slrn827jhs.dk.abigail@alexandra.delanet.com>

Bernie Cosell (bernie@fantasyfarm.com) wrote on MMCCLVIII September
MCMXCIII in <URL:news:v6MjOCwrpOFMXBZbzjIc4VCEshD5@4ax.com>:
 .. abigail@delanet.com (Abigail) wrote:
 .. 
 .. } And so what that we have four operators that might be called "or"?
 .. } We have four looping constructs, (or 6, depending how you count)
 .. } as well, and noone complains about that.
 .. 
 .. Eh?  This is too pat: you've conflated a _single_ operation ['or'] with a
 .. whole class of control-functions ('looping constructs').  Not at all the
 .. same.   This is more like "unoverloading" --- where you have an add
 .. operator, and a floating-add operator and an unsigned-add operator and a
 .. double-add operator and you have to remember to use the right one or your
 .. program will silently miscalculate and leave you to wonder why it isn't
 .. working when the expression looks _so_ correct when you just read it...
 .. I'm not arguing for operator-minimalism, just wondering if the subtleties
 .. among the various flavors of 'or' will, on balance, be a net win or not...

Well, we have "binary +", "unary +", "binary -", "unary -", "postfix ++",
"prefix ++", "postfix --", "prefix --", "+=" *and* "-=". But all that's
needed is "binary +" and "unary -".

Noone seems to complain about that.

As for 4 "or" operators, we wouldn't. First of all, "|" might be called
"or", it's a totally different function. We don't complain that "[]" and
"{}" both do indexing, do we? Think of "|" as "binary or" and "||" and "or"
as "logical or". 2 different operators, 2 different functions, their 
names just happen to share the last 3 characters. We have "postincrement",
"preincrement", "postdecrement" and "predecrement" as well, operators
that share the last 7 characters. Is that confusing?

"??" has nothing to do with truth. It isn't called "or" (I don't think it
has a name yet), so calling it "or" and then whining it's confusing is
muddying the waters. If you find that name confusing, then don't give
it a confusing name!

Even if it shares some of the semantics with "||" and "&&" (short-circuiting),
it doesn't mean its name needs to resemble it. "cmp" and "<=>" share
the same semantics, yet "<=>" has the name "spaceship operator", which
doesn't give any hint about its function. "cmp" is just "compare".

As for people using the wrong operator - that already happens all the
time. People use "==" when they should use "eq". Those operators even
have the same name. And, importantly, people use "||" when they ought
to test for definedness, not truth. Introduction of "??" would make it
easier for people to do the right thing. I think that part of the reason
people tend to write "==" when they mean "eq" is that "==" is used in
other languages to compare things, while only a few have "eq". "??" isn't
used in (popular) languages for anything related to this proposal - I
would find it hard to believe people would suddenly use "??" where they
should have used "||" or "&&". OTOH, "||" is used for short-circuitting
in languages like C, which doesn't have a concept of definedness - but
just like Perl doesn't have booleans and implements "true" and "false"
on top of other primitives. So, I think it's more likely people use "||"
when they shouldn't, than that they would use "??" when they shouldn't.

 .. And I appreciate that this operator [??] hasn't been proposed as
 .. whimsically and/or casually as it would appear the various kitchen-sink
 .. operators have been added to the RE engine.  I'm not arguing on the basis
 .. of "perl has too many operators", but only whether this one is all that
 .. semantically clear or called-for.

Oh, it's surely called for. By many people. For years. In fact, I bet that
if you really want to people to upgrade to say 5.6 when it comes out, put
"??" in. That'll be more used than any other feature that goes in.

 .. } Perl is supposed to be the programmers friend. Denying `??' with the
 .. } argument "it's not needed", isn't very Perlisque. If you don't like it;
 .. } don't use it. Don't deny others the right to have it.
 .. 
 .. Indeed, and I probably won't use it.  I still find "say what you mean"
 .. rather than "use the latest syntactic hack to save a few characters" as a
 .. better overall programming practice, but I know that others don't, and so
 .. be it. It is one thing when a new operator makes clear something that used
 .. to be difficult to express clearly or has some substantial secondary
 .. benefit[*], but in this case it just saves a few characters and so I'm
 .. altogether less enthusiastic.. I might start using it but certainly the
 .. lure of having my one of my programs be 101,950 characters long instead of
 .. 102,000 because I used this new operator in a handful of places isn't all
 .. that enticing to me...
 ..    [*] e.g., something like $a += 7; has the secondary benefit of only
 .. evaluating '$a' once.  If it is something complicated [like a complicated
 .. multilevel array/structure reference] that could be a nontrivial advantage
 .. even beyond the clarity of expression [when what you want to do is
 .. "increment $a by 7" and the operator, in this case, allows you to write
 .. exactly what you meant].

Ah, but that's *exactly* what "??" does. Compactness, short-circuitting,
and not evaluating an operand twice.

    defined (EXPR1) ? EXPR1 : EXPR2

as alternative for "EXPR1 ?? EXPR2" would evaluate EXPR1 twice. "$a += 7"
however, needs to evaluate "$a" twice anyway - once as rvalue, once as
lvalue, although there's a tiny saving, about 0.5 seconds per million
additions on my machine. It only saves a fetch/store combination of a
variable, not a general, potentially expensive, expression with side
effects.

I find your argument of using "??" cause you should "say what you mean",
but "+=" is ok because it saves half of a micro second not really
convincing. I assume you don't use "and", "or", "++", "--", "not",
"map", "push", "shift", "->" and 70% of the other Perl functions and
operators either, cause you should "say what you mean"?

    EXPR1 ?? EXPR2

says what I mean, in the same way

    EXPR1 *  EXPR2

does.

If you prefer just one way of doing things, well, we all know where to
get Python, don't we?

 .. And along those lines, for those of us who don't follow p5p, will there be
 .. an '!!' operator for an 'and' equivalent to go with it?


For some reason, only people against "??" come up with an equivalent
that supposedly would return the first undefined operand. Noone else
seems to believe that would be very useful.



Abigail
-- 
perl -MTime::JulianDay -lwe'@r=reverse(M=>(0)x99=>CM=>(0)x399=>D=>(0)x99=>CD=>(
0)x299=>C=>(0)x9=>XC=>(0)x39=>L=>(0)x9=>XL=>(0)x29=>X=>IX=>0=>0=>0=>V=>IV=>0=>0
=>I=>$r=-2449231+gm_julian_day+time);do{until($r<$#r){$_.=$r[$#r];$r-=$#r}for(;
!$r[--$#r];){}}while$r;$,="\x20";print+$_=>September=>MCMXCIII=>()'


  -----------== Posted via Newsfeeds.Com, Uncensored Usenet News ==----------
   http://www.newsfeeds.com       The Largest Usenet Servers in the World!
------== Over 73,000 Newsgroups - Including  Dedicated  Binaries Servers ==-----


------------------------------

Date: 6 Nov 1999 06:51:33 GMT
From: ilya@math.ohio-state.edu (Ilya Zakharevich)
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <800j5l$o96$1@charm.magnus.acs.ohio-state.edu>

[A complimentary Cc of this posting was sent to Abigail
<abigail@delanet.com>],
who wrote in article <slrn827jhs.dk.abigail@alexandra.delanet.com>:
> "??" has nothing to do with truth. It isn't called "or" (I don't think it
> has a name yet

"ifundef".

Ilya


------------------------------

Date: 6 Nov 1999 00:54:24 -0600
From: abigail@delanet.com (Abigail)
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <slrn827kbv.dk.abigail@alexandra.delanet.com>

Bernie Cosell (bernie@fantasyfarm.com) wrote on MMCCLVIII September
MCMXCIII in <URL:news:76ojOJmrqTi==AieWp0LipW2N0S+@4ax.com>:
## 
## For example, perhaps there should be a new 'while' operator that instead of
## doing a boolean test it does 'defined' test, ala ??, so that if you write:
##     whiled ($line = <>)  [for 'while defined']
## it'd actually be correct.

That's silly, as while ($line = <>) *already* does that.

And besides, it doesn't gain that much over

    while (defined ($line = <>))

The problem isn't testing for definedness of a single expression, 
"defined" does that task really well. The problem is that defined
cannot return the value of the expression, and being meaningful.

"??" solves that, returning the *value* of one of its operands. Just
like "||" and "&&" do.

##                            'patching' perl's syntax to deal with the
## parallel boolean universe [in which 'undef' rather than '0' means false] in
## every boolean context doesn't strike me as a particular useful exercise...

This, I do not understand. "??" would not be meaningful, but your "whiled"
would?

## The problem, IMO, runs more deeply than can be effectively dealt with by a
## series of syntactic bandaids...

What series? What else than "??" is being called for?

Of course, an alternative would be a unary operator, say "^^", that would
add some magic. "^^ 0" would return "0, but true", "^^ q()" would return
"the empty string, but true", "^^ 0.0" would return "0.0, but true",
"^^ undef" would return "undef", and "^^ TRUE" would return "TRUE".

But that would be much harder to grog. And prone to errors - specially
if the magic would last.


Abigail
-- 
perl -MNet::Dict -we '(Net::Dict -> new (server => "dict.org")
                       -> define ("foldoc", "perl")) [0] -> print'


  -----------== Posted via Newsfeeds.Com, Uncensored Usenet News ==----------
   http://www.newsfeeds.com       The Largest Usenet Servers in the World!
------== Over 73,000 Newsgroups - Including  Dedicated  Binaries Servers ==-----


------------------------------

Date: 06 Nov 1999 01:59:16 -0500
From: Uri Guttman <uri@sysarch.com>
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <x7yacc2ji3.fsf@home.sysarch.com>

>>>>> "IZ" == Ilya Zakharevich <ilya@math.ohio-state.edu> writes:

  IZ> [A complimentary Cc of this posting was sent to Abigail
  IZ> <abigail@delanet.com>],
  IZ> who wrote in article <slrn827jhs.dk.abigail@alexandra.delanet.com>:
  >> "??" has nothing to do with truth. It isn't called "or" (I don't think it
  >> has a name yet

  IZ> "ifundef".

shouldn't that be 'unlessundefthen'?

$foo = $bar ?? 'default' ;

foo equals bar unless undef then 'default'

it scans for multiple uses too:

$foo = $bar ?? $arg ?? 'default' ;

foo equals bar unless undef then arg unless undef then 'default'

or worse:

foo equals bar or if undef then 'default'

ilya's would read:

foo equals bar if undef 'default'

however brilliant ilya may be, english is not his strongest suit.

uri


-- 
Uri Guttman  ---------  uri@sysarch.com  ----------  http://www.sysarch.com
SYStems ARCHitecture, Software Engineering, Perl, Internet, UNIX Consulting
The Perl Books Page  -----------  http://www.sysarch.com/cgi-bin/perl_books
The Best Search Engine on the Net  ----------  http://www.northernlight.com


------------------------------

Date: 6 Nov 1999 10:14:01 GMT
From: ilya@math.ohio-state.edu (Ilya Zakharevich)
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <800v19$qh7$1@charm.magnus.acs.ohio-state.edu>

[A complimentary Cc of this posting was sent to Uri Guttman 
<uri@sysarch.com>],
who wrote in article <x7yacc2ji3.fsf@home.sysarch.com>:
> ilya's would read:
> 
> foo equals bar if undef 'default'
> 
> however brilliant ilya may be, english is not his strongest suit.

Are you sure you put your commas correct?  And I would not read "=" as
"equals". 

   foo becomes bar, if undef 'default';

Ilya


------------------------------

Date: 6 Nov 1999 14:45:05 GMT
From: lee.lindley@bigfoot.com
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <801eth$fak$1@rguxd.viasystems.com>

Ilya Zakharevich <ilya@math.ohio-state.edu> wrote:
:>[A complimentary Cc of this posting was sent to Abigail
:><abigail@delanet.com>],
:>who wrote in article <slrn827jhs.dk.abigail@alexandra.delanet.com>:
:>> "??" has nothing to do with truth. It isn't called "or" (I don't think it
:>> has a name yet

:>"ifundef".

$var = shift ifundef 'default';

Hm.  Doesn't sound right.

$var = shift orifundef 'default';

Better to my ear.  But a mouthfull.


-- 
// Lee.Lindley   /// I used to think that being right was everything.
// @bigfoot.com  ///  Then I matured into the realization that getting
////////////////////   along was more important.  Except on usenet.


------------------------------

Date: 06 Nov 1999 12:45:23 -0500
From: Uri Guttman <uri@sysarch.com>
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <x7iu3f345o.fsf@home.sysarch.com>

>>>>> "IZ" == Ilya Zakharevich <ilya@math.ohio-state.edu> writes:

  IZ> [A complimentary Cc of this posting was sent to Uri Guttman 
  IZ> <uri@sysarch.com>],
  IZ> who wrote in article <x7yacc2ji3.fsf@home.sysarch.com>:
  >> ilya's would read:
  >> 
  >> foo equals bar if undef 'default'
  >> 
  >> however brilliant ilya may be, english is not his strongest suit.

  IZ> Are you sure you put your commas correct?  And I would not read "=" as
  IZ> "equals". 

i had no commas, but the meaning was clear. and you may be the only
person that reads = as becomes. most say equals. in fact a recent post
talked about how perl ops are read and == and = both read as equals. 

  IZ>    foo becomes bar, if undef 'default';

you still need an 'or' there to be decent english. that is not a perl if
modifier which is how you read it. and it can use a then also. so my
reading cleans that up:

foo becomes bar, unless undef then 'default';

(keeping your becomes whch doesn't affect the reading of ??)

uri

-- 
Uri Guttman  ---------  uri@sysarch.com  ----------  http://www.sysarch.com
SYStems ARCHitecture, Software Engineering, Perl, Internet, UNIX Consulting
The Perl Books Page  -----------  http://www.sysarch.com/cgi-bin/perl_books
The Best Search Engine on the Net  ----------  http://www.northernlight.com


------------------------------

Date: 7 Nov 1999 01:33:42 GMT
From: mgjv@wobbie.heliotrope.home (Martien Verbruggen)
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <slrn829lqn.5vv.mgjv@wobbie.heliotrope.home>

On 6 Nov 1999 00:40:32 -0600,
	Abigail <abigail@delanet.com> wrote:
> Bernie Cosell (bernie@fantasyfarm.com) wrote on MMCCLVIII September
> MCMXCIII in <URL:news:v6MjOCwrpOFMXBZbzjIc4VCEshD5@4ax.com>:

> As for people using the wrong operator - that already happens all the
> time. People use "==" when they should use "eq".

>                                          I think that part of the reason
> people tend to write "==" when they mean "eq" is that "==" is used in
> other languages to compare things, while only a few have "eq".

And if you have a shell programming background on unix:

# man test
[snip]
       string1 = string2
              True if the strings are equal.
       string1 != string2
              True if the strings are not equal.
[snip]
       arg1 OP arg2
              OP  is  one  of  -eq,  -ne,  -lt, -le, -gt, or -ge.
              These arithmetic binary operators  return  true  if
              arg1  is equal, not-equal, less-than, less-than-or-
              equal, greater-than, or greater-than-or-equal  than
              arg2,  respectively.  arg1 and arg2 may be positive
              integers, negative integers, or the special expres-
              sion  -l  string,  which evaluates to the length of
              string.

(This is on Linux, but the same holds true for 'test' on other
platforms, and for csh and tcsh internally (even though these two use
'==' for string equality).

And then of course there are languages where the number of operators has
been reduced, and the same operator gets used for different sort of
comparisons, as in JavaScript (uck).

> Oh, it's surely called for. By many people. For years. In fact, I bet that
> if you really want to people to upgrade to say 5.6 when it comes out, put
> "??" in. That'll be more used than any other feature that goes in.

I'd use it. If not because I always want to distinguish between undef
and other false values, but because it would document exactly what I am
testing for.

Martien
-- 
Martien Verbruggen                      |
Interactive Media Division              | "In a world without fences,
Commercial Dynamics Pty. Ltd.           |  who needs Gates?"
NSW, Australia                          |


------------------------------

Date: 6 Nov 1999 20:39:05 -0600
From: abigail@delanet.com (Abigail)
Subject: Re: Another 'or'? was [perl double-split]
Message-Id: <slrn829pp6.2i1.abigail@alexandra.delanet.com>

Martien Verbruggen (mgjv@wobbie.heliotrope.home) wrote on MMCCLIX
September MCMXCIII in <URL:news:slrn829lqn.5vv.mgjv@wobbie.heliotrope.home>:
,, 
,, And then of course there are languages where the number of operators has
,, been reduced, and the same operator gets used for different sort of
,, comparisons, as in JavaScript (uck).

Oh, but Perl isn't at all clean either. We got the "==" family and
the "eq" family, we got "+" and ".", we got "*" and "x", but on the
other hand, "|", "++", and ".." behave different depending whether 
their operands are strings or numbers.



Abigail
-- 
sub camel (^#87=i@J&&&#]u'^^s]#'#={123{#}7890t[0.9]9@+*`"'***}A&&&}n2o}00}t324i;
h[{e **###{r{+P={**{e^^^#'#i@{r'^=^{l+{#}H***i[0.9]&@a5`"':&^;&^,*&^$43##@@####;
c}^^^&&&k}&&&}#=e*****[]}'r####'`=437*{#};::'1[0.9]2@43`"'*#==[[.{{],,,1278@#@);
print+((($llama=prototype'camel')=~y|+{#}$=^*&[0-9]i@:;`"',.| |d)&&$llama."\n");


  -----------== Posted via Newsfeeds.Com, Uncensored Usenet News ==----------
   http://www.newsfeeds.com       The Largest Usenet Servers in the World!
------== Over 73,000 Newsgroups - Including  Dedicated  Binaries Servers ==-----


------------------------------

Date: Fri, 05 Nov 1999 16:29:54 -0800
From: mbudash@wcws.com (Michael Budash)
Subject: anybody know of any virtual source code mgt scripts?
Message-Id: <mbudash-0511991629540001@adsl-216-103-91-123.dsl.snfc21.pacbell.net>

sorry 'bout the subject... lemmesplain...

anybody who's ever worked in a coding shop knows what a bitch it is to
have another pgmr work on some code at the same time as you, and step on
your changes ... this can pretty easily be corrected if you're physically
in the same office, but when you've got a virtual office across the globe,
it gets more difficult... so... before i code a web-based source
management system...


anybody know of such a script ($$$ or not) already in existence? i am
talking source management for perl code, if that matters...

thanks in advance for any and all advice!
-- 
Michael Budash ~~~~~~~~~~ mbudash@wcws.com


------------------------------

Date: 6 Nov 1999 04:15:48 GMT
From: mgjv@wobbie.heliotrope.home (Martien Verbruggen)
Subject: Re: anybody know of any virtual source code mgt scripts?
Message-Id: <slrn827ats.5vv.mgjv@wobbie.heliotrope.home>

On Fri, 05 Nov 1999 16:29:54 -0800,
	Michael Budash <mbudash@wcws.com> wrote:
> sorry 'bout the subject... lemmesplain...
> 
> anybody who's ever worked in a coding shop knows what a bitch it is to
> have another pgmr work on some code at the same time as you, and step on
> your changes ... this can pretty easily be corrected if you're physically
> in the same office, but when you've got a virtual office across the globe,
> it gets more difficult... so... before i code a web-based source
> management system...
> 
> 
> anybody know of such a script ($$$ or not) already in existence? i am
> talking source management for perl code, if that matters...

It doesn't matter which language it is, as long as you're talking plain
text. it also has nothing to do with Perl. Source code control has the
same problems in almost any programming language.

CVS will do a lot of good in this situation. I've used it for ages for
my own code, and for code in large projects with up to 10 people with
rights to submit code to the repository. Hardly ever have I found it
necessary to explicitly lock anything I checked out, but if you want,
you can do that. (http://www.cyclic.com/cvs)

If you want much, much more control, you could look at something like
aegis. And I mean it does a lot more than just version control and
project management.
(http://www.canb.auug.org.au/~millerp/aegis/aegis.html)

One thing I learned early on: If you want decent source code control,
stay away from those IDEs with their own screwy idea of how code should
be formatted,and where it should live.

Martien
-- 
Martien Verbruggen                      |
Interactive Media Division              | "In a world without fences,
Commercial Dynamics Pty. Ltd.           |  who needs Gates?"
NSW, Australia                          |


------------------------------

Date: Sat, 06 Nov 1999 13:00:13 -0800
From: mbudash@wcws.com (Michael Budash)
Subject: Re: anybody know of any virtual source code mgt scripts?
Message-Id: <mbudash-0611991300130001@adsl-216-103-91-123.dsl.snfc21.pacbell.net>

In article <slrn827ats.5vv.mgjv@wobbie.heliotrope.home>,
mgjv@comdyn.com.au wrote:

> On Fri, 05 Nov 1999 16:29:54 -0800,
>         Michael Budash <mbudash@wcws.com> wrote:
> > sorry 'bout the subject... lemmesplain...
> > 
> > anybody who's ever worked in a coding shop knows what a bitch it is to
> > have another pgmr work on some code at the same time as you, and step on
> > your changes ... this can pretty easily be corrected if you're physically
> > in the same office, but when you've got a virtual office across the globe,
> > it gets more difficult... so... before i code a web-based source
> > management system...
> > 
> > 
> > anybody know of such a script ($$$ or not) already in existence? i am
> > talking source management for perl code, if that matters...
> 
> It doesn't matter which language it is, as long as you're talking plain
> text. it also has nothing to do with Perl. Source code control has the
> same problems in almost any programming language.
> 
> CVS will do a lot of good in this situation. I've used it for ages for
> my own code, and for code in large projects with up to 10 people with
> rights to submit code to the repository. Hardly ever have I found it
> necessary to explicitly lock anything I checked out, but if you want,
> you can do that. (http://www.cyclic.com/cvs)
> 
> If you want much, much more control, you could look at something like
> aegis. And I mean it does a lot more than just version control and
> project management.
> (http://www.canb.auug.org.au/~millerp/aegis/aegis.html)
> 
> One thing I learned early on: If you want decent source code control,
> stay away from those IDEs with their own screwy idea of how code should
> be formatted,and where it should live.
> 
> Martien

thanks!
-- 
Michael Budash ~~~~~~~~~~ mbudash@wcws.com


------------------------------

Date: Fri, 5 Nov 1999 12:26:10 -0800
From: Tom Phoenix <rootbeer@redcat.com>
Subject: Re: Autoloader won't find files
Message-Id: <Pine.GSO.4.10.9911051222010.29670-100000@user2.teleport.com>

On Fri, 5 Nov 1999, Andy Marden wrote:

> 'Can't locate loadable object for module POSIX'.

> Could this be a problem introduced at Perl distribution compile time?

Yes; your POSIX module (or perhaps your perl binary or something else) is
miscompiled, misconfigured, misinstalled, or missing. Check your @INC, but
you'll probably want to recompile from the source. Don't forget to 'make
test' before installing. Cheers!

-- 
Tom Phoenix       Perl Training and Hacking       Esperanto
Randal Schwartz Case:     http://www.rahul.net/jeffrey/ovs/



------------------------------

Date: Mon, 08 Nov 1999 15:26:42 +0100
From: Vijay N Rao <vn8@sfsws1.de.lucent.com>
Subject: Batch Program Execution
Message-Id: <3826DDA2.6455209F@sfsws1.de.lucent.com>

Hello,

I need to execute a batch file in a perl script. How can this be done?

Thanks in advance
vijay


------------------------------

Date: Mon, 08 Nov 1999 18:36:32 GMT
From: kragen@dnaco.net (Kragen Sitaker)
Subject: Re: Batch Program Execution
Message-Id: <QKEV3.57886$23.2177728@typ11.nn.bcandid.com>

In article <3826DDA2.6455209F@sfsws1.de.lucent.com>,
Vijay N Rao  <vn8@sfsws1.de.lucent.com> wrote:
>I need to execute a batch file in a perl script. How can this be done?

system()

-- 
<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
Tue Nov 02 1999
6 days until the Internet stock bubble bursts on Monday, 1999-11-08.
<URL:http://www.pobox.com/~kragen/bubble.html>


------------------------------

Date: 16 Sep 99 21:33:47 GMT (Last modified)
From: Perl-Users-Request@ruby.oce.orst.edu (Perl-Users-Digest Admin) 
Subject: Digest Administrivia (Last modified: 16 Sep 99)
Message-Id: <null>


Administrivia:

The Perl-Users Digest is a retransmission of the USENET newsgroup
comp.lang.perl.misc.  For subscription or unsubscription requests, send
the single line:

	subscribe perl-users
or:
	unsubscribe perl-users

to almanac@ruby.oce.orst.edu.  

| NOTE: The mail to news gateway, and thus the ability to submit articles
| through this service to the newsgroup, has been removed. I do not have
| time to individually vet each article to make sure that someone isn't
| abusing the service, and I no longer have any desire to waste my time
| dealing with the campus admins when some fool complains to them about an
| article that has come through the gateway instead of complaining
| to the source.

To submit articles to comp.lang.perl.announce, send your article to
clpa@perl.com.

To request back copies (available for a week or so), send your request
to almanac@ruby.oce.orst.edu with the command "send perl-users x.y",
where x is the volume number and y is the issue number.

For other requests pertaining to the digest, send mail to
perl-users-request@ruby.oce.orst.edu. Do not waste your time or mine
sending perl questions to the -request address, I don't have time to
answer them even if I did know the answer.


------------------------------
End of Perl-Users Digest V9 Issue 1293
**************************************


home help back first fref pref prev next nref lref last post