#!/usr/bin/perl # I know there should be # use strict; # and # use warnings; sub process { my ($fileName) = @_; open FILE, $fileName or die $!; while () { chomp $_; my @parts = split(',', $_); for (@parts) { # Do some stuff } } } sub finalize { print "Finished\n"; } my $runlvl = $ARGV[0]; if ($runlvl == 1) { # Do everything $runlvl = "23"; } die "Invalid arguments" unless ($runlvl =~ /^\d+$/); # For conversations sake, lets just read this script my $filename = $0; print "Run level: $runlvl\n"; # Do some stuff based on the runlevel for ($runlvl) { /2/ and process($filename); /3/ and finalize(); } print "Run level: $runlvl\n";