Editorial_Response has asked for the wisdom of the Perl Monks concerning the following question:
Your wizdom is greatly appreciated.print "MY LINE IN: $my_line_in\n\n";
and the data file looks like#!/usr/bin/perl # variable data to be input by the admin # $my_line_in=""; # contains the name of the section we are currently processing $processing_section; # open file to read the data open (INFILE, "readData.txt") or die("Cannot open the input file. $!") +; sub processSectionA1 { # Process data within the header # #### SECTION A1 (DO NOT REMOVE THIS LINE) # Process data print "In #### SECTION A1\n"; print "MY LINE IN: $my_line_in\n\n"; return; } sub processSectionD1 { # Process data within the header # #### SECTION D1 (DO NOT REMOVE THIS LINE) # Process data print "In #### SECTION D1\n"; print "MY LINE IN: $my_line_in\n\n"; return; } sub processSectionD2 { # Process data within the header # #### SECTION D2 (DO NOT REMOVE THIS LINE) # Process data print "In #### SECTION D2\n"; print "MY LINE IN: $my_line_in\n\n"; return; } LINE: while ( my $my_line_in = <INFILE> ){ chomp $my_line_in; # ignore blank lines next LINE if ($my_line_in =~ m/^$/); # debug print "In while loop POINT 1: $my_line_in\n"; # ignore comment lines with one hash tag # next LINE if ($my_line_in =~ m/^#{1,3}/); # debug print "In while loop POINT 2: $my_line_in\n"; if ($my_line_in =~ m/^#### SECTION A1.*/){ # debug print "In while loop POINT 3: $my_line_in\n"; $processing_section = "A1"; &processSectionA1; } elsif ($my_line_in =~ /^#### SECTION D1.*/){ # debug print "In while loop POINT 4: $my_line_in\n"; $processing_section = "D1"; processSectionD1(); } elsif ($my_line_in =~ /^#### SECTION D2.*/){ # debug print "In while loop POINT 5: $my_line_in\n"; $processing_section = "D2"; processSectionD2(); } else { # process hold value by processing last called subrout +ine if ($processing_section =~ /A1/){ # debug print "In while loop POINT 6: $my_line_in\n"; processSectionA1(); }elsif ($processing_section =~ /D1/){ # debug print "In while loop POINT 7: $my_line_in\n"; processSectionD1(); }elsif ($processing_section =~ /D2/){ # debug print "In while loop POINT 8: $my_line_in\n"; processSectionD2(); } } } close (INFILE);
The following is what is print out:#### SECTION A1 (DO NOT REMOVE THIS LINE) ## Data in section A1 Data in section A1 #### SECTION D1 (DO NOT REMOVE THIS LINE) ## Data in section D1 Data in section D1 #### SECTION D2 (DO NOT REMOVE THIS LINE) ## Data in section D2 Data in section D2
[root@localhost admin_scripts]# ./processData.pl In while loop POINT 1: #### SECTION A1 (DO NOT REMOVE THIS LINE) In while loop POINT 2: #### SECTION A1 (DO NOT REMOVE THIS LINE) In while loop POINT 3: #### SECTION A1 (DO NOT REMOVE THIS LINE) In #### SECTION A1 MY LINE IN: In while loop POINT 1: ## In while loop POINT 2: ## In while loop POINT 6: ## In #### SECTION A1 MY LINE IN: In while loop POINT 1: Data in section A1 In while loop POINT 2: Data in section A1 In while loop POINT 6: Data in section A1 In #### SECTION A1 MY LINE IN: In while loop POINT 1: Data in section A1 In while loop POINT 2: Data in section A1 In while loop POINT 6: Data in section A1 In #### SECTION A1 MY LINE IN: In while loop POINT 1: #### SECTION D1 (DO NOT REMOVE THIS LINE) In while loop POINT 2: #### SECTION D1 (DO NOT REMOVE THIS LINE) In while loop POINT 4: #### SECTION D1 (DO NOT REMOVE THIS LINE) In #### SECTION D1 MY LINE IN: In while loop POINT 1: ## In while loop POINT 2: ## In while loop POINT 7: ## In #### SECTION D1 MY LINE IN: In while loop POINT 1: Data in section D1 In while loop POINT 2: Data in section D1 In while loop POINT 7: Data in section D1 In #### SECTION D1 MY LINE IN: In while loop POINT 1: Data in section D1 In while loop POINT 2: Data in section D1 In while loop POINT 7: Data in section D1 In #### SECTION D1 MY LINE IN: In while loop POINT 1: #### SECTION D2 (DO NOT REMOVE THIS LINE) In while loop POINT 2: #### SECTION D2 (DO NOT REMOVE THIS LINE) In while loop POINT 5: #### SECTION D2 (DO NOT REMOVE THIS LINE) In #### SECTION D2 MY LINE IN: In while loop POINT 1: ## In while loop POINT 2: ## In while loop POINT 8: ## In #### SECTION D2 MY LINE IN: In while loop POINT 1: Data in section D2 In while loop POINT 2: Data in section D2 In while loop POINT 8: Data in section D2 In #### SECTION D2 MY LINE IN: In while loop POINT 1: Data in section D2 In while loop POINT 2: Data in section D2 In while loop POINT 8: Data in section D2 In #### SECTION D2 MY LINE IN:
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Subroutine argument list
by hilitai (Monk) on Nov 16, 2011 at 00:53 UTC | |
by Editorial_Response (Initiate) on Nov 16, 2011 at 01:34 UTC | |
by GrandFather (Saint) on Nov 16, 2011 at 03:06 UTC | |
|
Re: Subroutine argument list
by toolic (Bishop) on Nov 16, 2011 at 01:15 UTC | |
by Editorial_Response (Initiate) on Nov 16, 2011 at 01:37 UTC |