$writefile = pop; @arraytowrite = @_; #### #!/usr/bin/perl -w use strict; # Always use this!!! my @AllFileDetails; $AllFileDetails[0] = "blah, blah, blah"; $AllFileDetails[1] = "foo, bar, diddledum"; print "Printing array.\n"; print @AllFileDetails; print "\nCalling subroutine now\n"; &WriteToDisk(\@AllFileDetails, "garbage", "more garbage", "files.txt"); print $AllFileDetails[1]; # This will print the new value exit; sub WriteToDisk { my $arraytowrite = $_[0]; my $writefile = pop; print "\nInside the subroutine 'WriteToDisk' now.\n"; print "Printing array.\n"; print $arraytowrite->[0] . " " . $arraytowrite->[1]; $arraytowrite->[1] = "New value\n"; # We've now changed the value of $AllFileDetails[1]! print "\n" . $writefile . "\n"; }