I am attempting to return data from an array. Code is below:
my %ignorables = map { $_ => 1 } qw([notice mpmstats: rdy bsy rd wr ka + log dns cls bsy: in); open my $error_fh, '<', 'iset_error_log'; sub findLines { # Iterates over the lines in the file, putting each into $_ while (<$error_fh>) { # Only worry about the lines containing [notice if (/\[notice/) { if (/\brdy\b/){ print "\n"; } else { print ","; } my @line = grep { not defined $ignorables{$_} } split /\s+ +/; # Cleanup s/|^\[|notice|[]]//g for @line; # remove [ from [foo # Output the line @line = join(",", @line); s/,,/,/g for @line; print @line; #this is where I would like to return the arr +ay. } } } &findLines; close $error_fh;
when I print, output is as follows:
Mon,Jun,25,23:24:43,2012,999,1,0,1,0,0,0,0,Mon,Jun,25,23:24:43,2012,1, +mod_was_ap22_http.c Mon,Jun,25,23:32:44,2012,999,1,0,1,0,0,0,0,Mon,Jun,25,23:32:44,2012,1, +mod_was_ap22_http.c Mon,Jun,25,23:33:44,2012,999,1,0,1,0,0,0,0,Mon,Jun,25,23:33:44,2012,1, +mod_was_ap22_http.c Mon,Jun,25,23:45:44,2012,999,1,0,1,0,0,0,0,Mon,Jun,25,23:45:44,2012,1, +mod_was_ap22_http.c
How do I return the array outside the subroutine? Thank you.
In reply to Return Array from Subroutine by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |