Dear Monks,
Thanks you for the exicting read. As promised, I did my homework and tried to comment the code you provided.
Please find my endeavours below.
Looking forward to your replies and comments, I am sure I lack some basic understanding and proper perl terminology
Thanks a mil in advance for your support.
#!/usr/bin/perl --
use strict;
use warnings;
use Data::Dump qw/ dd /;
# Creates a shortcut for calling Data::Dumper, writing dd is enough to
+ call module
Main( @ARGV );
# main function, takes every file (as an argument) that is passed to @
+ARGV, might be command line or files
#that are read in
exit( 0 );
#not really a clue, maybe main exits if no arguments are passed to it
#This defines the subrotine Main which is called in line 6 (in my edit
+or at least)
sub Main {
dd( -argv, \@ARGV );
#calls Data::Dumper via reference => possibly to print which files are
+ being passed as arguments (control function)
for my $ar ( @ARGV ){
#a for loop to treat each file that has been passed as arg
+ument to @ARGV with the sub Sky
# each individual file assigned to $ar is in turn passed a
+s a parameter to the subroutine
Sky( $ar );
}
Sky(6);
#not really a clue => Does that mean that the sub stops after six runs
+
}
#defining subroutine Sky
sub Sky {
my( $ra ) = @_;
# variable for the argument(s) passed to the sub, @_ accepts every
+ argument passed to sub, i.e. the files passed to main
dd( -ra, $ra );
#print data strucutre of the files -parameter -ra
dd( -args, \@_ );
#print data strucutre of the arguments passed to the subroutine
}
__END__
$ perl sky
("-argv", [])
("-ra", 6)
("-args", [6])
# explains what sky does
$ perl sky a b c
#if I were to pass a, b, c
("-argv", ["a", "b", "c"])
#@ARGV would contain ["a", "b", "c"]
#Lists individual files as they are passed to both the sub Sky and sub
+ Main
("-ra", "a")
("-args", ["a"])
("-ra", "b")
("-args", ["b"])
("-ra", "c")
("-args", ["c"])
#Still no clue about the number, sorrry
("-ra", 6)
("-args", [6])
|