Sophie

Sophie

distrib > * > cooker > x86_64 > by-pkgid > 1243822e7df129a639ee31c72aac04d0 > files > 64

php-perl-1.0.0-34.x86_64.rpm

--TEST--
Test 54: Perl's cyclic object structures support
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$perl = new Perl();
$x = $perl->eval(<<<PERL_END
package Foo;
  sub new {
    my \$this = shift;
    my \$type = ref(\$this) || \$this;
    my \$self = {};
    bless \$self, \$type;
    return \$self;
  }
package main;
  \$x = new Foo;
  \$x->{'foo'} = \$x;
  return \$x;
PERL_END
);
var_dump($x);
$x->x = 1;
var_dump($x);
echo "ok\n";
?>
--EXPECT--
object(Perl::Foo)#2 (1) {
  ["foo"]=>
  object(Perl::Foo)#2 (1) {
    ["foo"]=>
    *RECURSION*
  }
}
object(Perl::Foo)#2 (2) {
  ["x"]=>
  int(1)
  ["foo"]=>
  object(Perl::Foo)#2 (2) {
    ["x"]=>
    int(1)
    ["foo"]=>
    *RECURSION*
  }
}
ok