#!/usr/bin/perl
use strict;
use warnings;
use feature 'say';
my $file = 'file1.txt';
open (my $in, "<", $file)
or die "Can't open $file: $!";
while (<$in>) { # assigns each line in turn to $_
chomp;
next if /^\s*$/; # skip blank lines
say "Line number: " . $. . " Content of line: " . $_; # print contents of $_ line by line
}
close $in
or warn "Can't close $file: $!";
__END__
$ perl test.pl
Line number: 1 Content of line: ABS0056
Line number: 3 Content of line: ABS0057
Line number: 5 Content of line: ABS0058
Line number: 7 Content of line: ABS0059
####
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use feature 'say';
my %hash;
# reset line numbering on each input file
while (<>) {
chomp;
next if /^\s*$/; # skip blank lines
say "$.\t$_";
$hash{$ARGV}{$.} = $_;
} continue {
close ARGV if eof; # Not eof()!
}
print Dumper \%hash;
__END__
$ perl test.pl file1.txt file2.txt
1 ABS0056
3 ABS0057
5 ABS0058
7 ABS0059
1 ABS0060
3 ABS0061
5 ABS0062
7 ABS0036
$VAR1 = {
'file2.txt' => {
'7' => 'ABS0036',
'5' => 'ABS0062',
'1' => 'ABS0060',
'3' => 'ABS0061'
},
'file1.txt' => {
'5' => 'ABS0058',
'7' => 'ABS0059',
'1' => 'ABS0056',
'3' => 'ABS0057'
}
};
####
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use IO::All -utf8; # Turn on utf8 for all io
my @lines = io('file.txt')->chomp->slurp; # Chomp as you slurp
print Dumper \@lines;
__END__
$ perl test.pl
$VAR1 = [
'line 1',
'line 2',
'line 3',
'line 4'
];