in reply to Re: parse a line with varied number of fields
in thread parse a line with varied number of fields
Yes, yours preserves multiple spaces in the file name. Thanks for the enlightenment JohnGG!#!/usr/bin/perl use Modern::Perl; my @lines = ( q{1 2 3 4 5 6 7 8 filename 10 11 12 13 14 15 16 17 18}, q{1 2 3 4 5 6 7 8 file name 10 11 12 13 14 15 16 17 18}, q{1 2 3 4 5 6 7 8 new file name 10 11 12 13 14 15 16 17 18}, ); foreach my $line ( @lines ) { my @flds = split m{\s+}, $line, 9; @flds = split m{\s+}, reverse( $flds[ -1 ] ), 10; my $filename = reverse $flds[ -1 ]; say qq{>$filename<}; } foreach my $line ( @lines ) { my @flds = split(' ', $line); my $filename = join(' ', @flds[8 .. $#flds - 9]); say qq{<$filename>}; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: parse a line with varied number of fields
by johngg (Canon) on Jul 03, 2012 at 22:30 UTC |