Since I wasn't 100% sure of what you were asking for, I give you two! two solutions in one!
#!/usr/bin/perl -w
use strict;
use Data::Dumper;
my $line="this---is---Sparta!";
#
# Case 1 a line with *fields* seperated by dashes
my @f=split('---',$line); #split the line along the dashes
print Dumper(\@f);
# Case 2 Records seperated by three dashes
my $oldIFS=$/; #save the old IFS
$/ = undef; # make it undefined
$line=<DATA>; # slurp in file
$/=$oldIFS; # restore IFS
@f = split('---',$line); # split on dashes
$_ =~ s/^\n// foreach @f; # remove leading EOL
chomp (@f); # remove traiing EOL
print Dumper(\@f);
exit(0); # we're done, going home
__END__
line1
---
line2
---
line3
when run gives you:
$VAR1 = [
'this',
'is',
'Sparta!'
];
$VAR1 = [
'line1',
'line2',
'line3'
];
Peter L. Berghold -- Unix Professional
Peter -at- Berghold -dot- Net; AOL IM redcowdawg Yahoo IM: blue_cowdawg
|