How can I get Perl's ref() function to return REF, IO, and LVALUE?

前端 未结 3 963
悲&欢浪女
悲&欢浪女 2020-12-15 14:21

The documentation for ref() mentions several possible return values. I understand most of them, but not REF, IO, and LVALUE. How would

3条回答
  •  臣服心动
    2020-12-15 14:51

    1. LVALUE

      perl5.8 -e '{$a = "aaa"; $b = \substr($a, 0, 2); print "$$b\n"; print ref($b)."\n"}'
      aa

      LVALUE

      This one is explained in perldoc -f ref

    2. REF

      perl5.8 -e '{$a = "aaa"; $b = \\$a; print ref($b)."\n"}'

      REF

      It's basically a reference to a value that is itself a reference. Probably would have been better to do $b = \$a; $c = \$b; print ref($c)

提交回复
热议问题