#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;
my $jid = '777';
my $text = 'header 777 111 777 A 222 777R-1 333 777R-2 A 444';
my $re = qr{(?x: \A (R-\d+|) \s*? (A|) \s (\d+) )};
my @lines;
my $wanted_line = 0;
for my $line (split /$jid/, $text) {
next unless $wanted_line++;
my @fields = $line =~ $re;
push @lines, [ $jid . shift(@fields), @fields ];
}
print Dumper(\@lines);
####
$VAR1 = [
[
'777',
'',
'111'
],
[
'777',
'A',
'222'
],
[
'777R-1',
'',
'333'
],
[
'777R-2',
'A',
'444'
]
];
##
##
$ perl -e 'my @x = qw{a b c d e f}; print join ",", @x[0,3,4]'
a,d,e