#!/usr/bin/perl use strict; use warnings; sub prefix_line { my $lineno = shift @_; my $line = shift @_; # Odd line? Yes No my $prefix = $lineno % 2 ? q{+} : q{o}; print qq{$prefix }; } sub print_line { my $lineno = shift @_; my $line = shift @_; # Print our actual line print qq{$line}; } my @actions = ( \&prefix_line, \&print_line, ); my $lineno = 0; while (my $line = <>) { $lineno++; foreach my $action (@actions) { $action->($lineno, $line); } }