From: Rob Dixon <[EMAIL PROTECTED]>
> Kaushal Shriyan wrote:
> > Hi,
> >
> > I am referring to http://www.gnulamp.com/perlscalars.html
> >
> > $a = $b; # Assign $b to $a
> >
> > Note that when Perl assigns a value with *$a = $b* it makes a copy of $b and
> > then assigns that to $a. Therefore the next time you change $b it will not
> > alter $a.
> >
> > I did not understand the Note:- Can some one make me understand this
> > statement with examples
>
> All they're saying is that $a = $b doesn't tie $a and $b together in any way,
> it just copies the value of $b to $a. If you change $b after that it won't
> alter $a again.
Unless of course the $b was a reference. In that case changing the $b
will not affect $a and changing $a will not affect $b, BUT changing
the something referenced by $a will change the thing referenced by $b
... because it's the same something:
@array = (1,3,7);
$b = [EMAIL PROTECTED];
$a = $b;
print "[EMAIL PROTECTED], [EMAIL PROTECTED]";
$a->[1] = 99;
print "[EMAIL PROTECTED], [EMAIL PROTECTED]";
$b->[2] = -1;
print "[EMAIL PROTECTED], [EMAIL PROTECTED]";
$a = [1,2,3];
print "[EMAIL PROTECTED], [EMAIL PROTECTED]";
Another thing that I think should be included in that document is
that Perl, unlike C, uses different operators for numerical and
string comparisons:
1 < 5
10 > 5
1 lt 5
10 lt 5
'hello' gt 'ciao'
The numerical operators are <, >, <=, >=, ==, !=
The string operators are lt, gt, le, ge, eq, ne
HTH, Jenda
P.S.: Please do not use $a and $b variables except in the sort{block}
in real scripts. The variables are a bit special and the names are
definitely not too descriptive :-)
===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed
to get drunk and croon as much as they like.
-- Terry Pratchett in Sourcery
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/