#!/usr/bin/perl -w use strict; my @i = (1, 2, 3); my @j = ('a', 'b', 'c'); print "\@i prima della subroutine passaggio_per_valore vale: @i\n"; print "\@j prima della subroutine passaggio_per_valore vale: @j\n"; passaggio_per_valore(@i, @j); print "\@i dopo la subroutine passaggio_per_valore vale: @i\n"; print "\@j dopo la subroutine passaggio_per_valore vale: @j\n"; passaggio_per_riferimento(\@i, \@j); print "\@i dopo la subroutine passaggio_per_riferimento vale: @i\n"; print "\@j dopo la subroutine passaggio_per_riferimento vale: @j\n"; ############################################ sub passaggio_per_valore { my (@i, @j) = @_ ; print "\@i dentro la subroutine vale: @i\n"; print "\@j dentro la subroutine vale: @j\n"; push @i, 4; print "\@i dentro la subroutine vale: @i\n"; } ############################################ sub passaggio_per_riferimento { my ($i, $j) = @_ ; print "\@i dentro la subroutine vale: @$i\n"; print "\@j dentro la subroutine vale: @$j\n"; push @i, 4; print "\@i dentro la subroutine vale: @$i\n"; }