in reply to Re^6: search and replace strings in different files in a directory (Path::Tiny)
in thread search and replace strings in different files in a directory
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])
|
|---|