Finally it is demonstrated how data are transfered between the
scripts using hashes. This time we start with t1.pl
:
#!/usr/bin/perl # # this is t1.pl # use strict; { my @ARGV = qw( p1 val1 p2 val2); my $h = eval `cat t2.pl`; foreach my $key (sort keys %$h) { print "t1: $key " . $h->{$key} . "\n"; } }
In t1.pl
@ARGV
is filled with pairs of names and values.
t2.pl
copies @ARGV
to a hash, preparing for
a keyword/value lookup:
# # this is t2.pl # my %params = @ARGV; foreach my $key (sort keys %params) { print "t2: $key " . $params{ $key} . "\n"; } return { k1 => "v1", k2 => "v2"};
t2.pl
returns the reference of an anonymous hash.
The output reads:
$ ./t1.pl t2: p1 val1 t2: p2 val2 t1: k1 v1 t1: k2 v2