Revision: 63165
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at April 13, 2013 02:39 by alfirth
Initial Code
#!perl use strict; use warnings; use Data::Dumper; my @a = (16, 32); #call main main(); #program execution stops here #subroutine main sub main { #call subroutine "function1" with a hash as args function1( arg1 => 'foo', arg2 => 'bar', arg3 => \@a, ); } sub function1 { my (%args) = @_; #define the output record separator and the array separator for printing local ($\, $,) = ("\n", ', '); #can be used in strings without spaces print "$args{arg1} baz$args{arg2}"; #sometimes the inline dereferences get ugly, so you can deref to a var if you want print "deref3: " . ($args{arg3}[1] - $args{arg3}[0]); my @ref3 = @{$args{arg3}}; print "ref3 " . ($ref3[1] - $ref3[0]); #use Data Dumper (core module) to print everything. Can be evaled in from a file to recreate struct print Dumper( \%args ); }
Initial URL
Initial Description
Use anonymous hash to keep arguments to a sub sane
Initial Title
call sub with hash args
Initial Tags
Initial Language
Perl