-
Notifications
You must be signed in to change notification settings - Fork 0
/
put_lines_together.pl
37 lines (36 loc) · 1.18 KB
/
put_lines_together.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl -w
$networker = 'sscprodeng';
$val = ". type:NSR client'\n'show name\\;group\\;action'\n'print";
(@return) = `/usr/bin/echo $val | /usr/sbin/nsradmin -s $networker -i -`;
print "Number of records returned = $#return\n";
$output_rec = 0;
$combined[0] = '';
$continue = 0;
# Do it easy
for ($i = 0;$i<$#return;$i++) {
chomp $return[$i];
# The addition is to handle multiline groups and there is space between last group and end of line
if ( $return[$i] =~ /\\$/ || $return[$i] =~ /,\s*$/) {
print "Found a continuation\n";
# Current line has a continuation so don't close out
$return[$i] =~ s/\\//;
$continue = 1;
if (defined $combined[$output_rec]) {
$combined[$output_rec] = $combined[$output_rec] . $return[$i];
} else {
$combined[$output_rec] = $return[$i];
}
} else {
if ($continue == 1) {
#working on a record so append it and start new record for next;
$combined[$output_rec] = $combined[$output_rec] . $return[$i];
} else {
$combined[$output_rec] = $return[$i];
}
$output_rec +=1;
$continue = 0;
}
}
#foreach $val (@combined) {
# print "$val\n";
#}