Extending this logic a bit, and using <DATA> to read in the test data:
use strict;
use warnings;
my ($first_line, $current_line);
while (<DATA>) {
chomp; # get rid of newline
# get the first line sorted
if ($. == 1) {
$first_line = join ",", sort( split /,/,);
} else { #die if doesn't match the first line sorted.
$current_line = join ",", sort( split /,/,);
die "$_ didn't match first line" unless $current_line eq $firs
+t_line;
}
}
__DATA__
~cake,pastry,donuts,meringue
pastry,~cake,meringue,donuts
meringue,
donuts,pastry,~cake,meringue
This dies on the third line, as it should. |