Sophie

Sophie

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

php-perl-1.0.0-34.x86_64.rpm

--TEST--
Test 56: Perl's cyclic object structures support
--SKIPIF--
<?php require_once('skipif.inc'); ?>
--FILE--
<?php
$perl = new Perl();
$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;
sub f {
  my \$x = shift(@_);
  return \$x;
}
PERL_END
);
$x = new Perl('Foo');
$x->foo = $x;
var_dump($x);
$x = $perl->f($x);
var_dump($x);
echo "ok\n";
?>
--EXPECT--
object(Perl::Foo)#2 (1) {
  ["foo"]=>
  object(Perl::Foo)#2 (1) {
    ["foo"]=>
    *RECURSION*
  }
}
object(Perl::Foo)#2 (1) {
  ["foo"]=>
  object(Perl::Foo)#2 (1) {
    ["foo"]=>
    *RECURSION*
  }
}
ok