in reply to Re^9: Reference of constants and literals
in thread Reference of constants and literals

I have to admit, I don't understand your code, I know \1 in the context of RegEx but otherwise couldn't find any reference for it in the docs. do you have a link, please?

please explain
> If you see otherwise, it's because you're looking at a *copy* of the constant.

$_[0] is supossed to be an alias to the parameter

DB<1> sub pr { print \$_[0] } DB<2> $a="x" DB<3> print \$a SCALAR(0x852b11c) DB<4> pr $a SCALAR(0x852b11c)

Or do you mean that aliased symbols of variables in perl don't neccessarily have the same reference?

I suppose this can possibly be done with typeglogs ... do mean this or a similar mechanism?

Cheers Rolf

Replies are listed 'Best First'.
Re^11: Reference of constants and literals
by ikegami (Patriarch) on Nov 24, 2008 at 18:06 UTC

    I have to admit, I don't understand your code, I know \1 in the context of RegEx but otherwise couldn't find any reference for it in the docs. do you have a link, please?

    1 is a constant. \ takes a reference.

    Or do you mean that aliased symbols of variables in perl don't neccessarily have the same reference?

    I didn't speculate or investigate what a copy would be made.

    However, I made a mistake. I forgot to take into account that \1 is a constant itself.

    >perl -MO=Concise -e"$x = \1" 6 <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 2 <;> nextstate(main 1 -e:1) v ->3 5 <2> sassign vKS/2 ->6 3 <$> const[RV \1] s ->4 <----- - <1> ex-rv2sv sKRM*/1 ->5 4 <#> gvsv[*x] s ->5 -e syntax OK

    My conclusion was based on observed results, which were based on a faulty assumption. Please ignore.

    On the plus side, it's a simple of way of generating a unique id for a spot in a file! Isn't that what you were after? It's not clear how you'd find out which spot is associated with which id, though.

      I have to admit, I don't understand your code, I know \1 in the co +ntext of RegEx but otherwise couldn't find any reference for it in th +e docs. do you have a link, please? 1 is a constant. \ takes a reference.
      argh ... (banging the head against the keyboard) ... well sometimes I don't see the wood for the trees 8 )