my $v = 10; my $refv = \$v; print "$refv\n"; print "$$refv\n"; $$refv = 56; print "$$refv\n"; print "$v\n"; sub f1{ my ($ref) = @_; $$ref = $$ref + 10; } my $v = 20; my $refv = \$v; f1( $refv ); print "$v\n"; f1 ( \$v ); print "$v\n"; sub f2{ my $v = 20; return \$v; } my $ref = f2(); print "$$ref\n"; sub f{ my ($x,$y) = @_; $$x = 20; $z = $y+10; return (\$z); } my $v = 10; my $w = 20; my $x = f(\$v,$w); my $y = $$x + $v; print "$y\n"; my @tab = ("ab",10); my $reft = \@tab; my @tab2 = @$reft; print "$tab2[1]\n"; print "$$reft[1]\n"; @$reft = ("bc",11); print "$tab[0],$tab[1]\n"; $reft->[1] = 12; print "$tab[1]\n"; my @t1 = ("tutu", 10); my @t2 = (20, 30); my @t = (2, \@t2, \@t1, ("et",20)); foreach my $e (@t) { print "$e\n"; } sub f{ my ($reftab) = @_; $reftab->[2] = 40; } my @tab = ( "hello", 10, -2 ); my $ref = \@tab; f( $ref ); print "$tab\n"; my $v = 10; my @t1 = (1,2, \$v); my @t2 = (20, \@t1); print "${$t2[1]->[2]}\n"; print "${@{$t2[1]}[2]}\n"; print "$@$t2[1][2]\n"; my %hash = ('Jean' => 10, 'Jacques' => 70); my $refh = \%hash; my %hash2 = %$refh; print "$hash2{'Jean'}\n"; print "$$refh{'Jacques'}\n"; print "$refh->{'Jacques'}\n"; my $v = 10; my %hash1 = ('tata' => \$v, 'titi' => $v, 'toto' => $v); my %hash2 = ('toto' => 3, 'tutu' => \%hash1); my $refh = \%hash2; my $x = $refh->{'tutu'}->{'tata'}+1; print "$x\n"; use File::Copy; copy("files/file1.txt","files/file2.txt") or die "Copy failed: $!"; copy("files/file1.txt",\*STDOUT); move("files/file2.txt","files/file3.txt"); use UnModule; print "@{$UnModule::reft}[0]\n"; print "@UnModule::t[0]\n"; print "@UnModule::reft[0]\n"; use Employe; my $e1 = Employe->new("Jean Dupont", 2000); print "$e1\n"; use Data::Dumper; print Dumper($e1)."\n"; my $e1_bis = $e1; print "$e1_bis\n" use Employe; my $e1 = Employe->new("Jean Dupont", 2000); print $e1->recuperation_info(2),"\n"; $e1->augmentation_salaire(2); print $e1->recuperation_info(2),"\n";