I would just point out that it is also possible to specify an index from the end of the array for the list slice. Instead of saying "2" which means skip 0 and 1, you can say -2 which means next to last in the array, [-1] is the last thing in the array (FA). Sometimes this helps if there is a lot of things on the line or if number of things varies. Here 2 and -2 mean the same thing and is just a coincidence.
If this c,t,d fields are always there, then extracting the digits is easy with match global:
If you need a regex, say line can end in other things than FA, then one way is anchor the regex to the end of the line and "work backwards", one way:my $dev = "c10t2d1"; my($c,$t,$d) = $dev =~ m/\d+/g; print "$c $t $d"; #prints: 10 2 1
my $test = "10 1/0/6/0/0.1.20.0.0.2.1 c10t2d1 FA "; my ($ctd) = $test =~ m/(\w+)\s+FA\s*$/; print $ctd; #prints: c10t2d1
In reply to Re^2: boundries \b \B
by Marshall
in thread boundries \b \B
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |