#!/usr/bin/perl use strict; use warnings; #My changeable variables #NEXT_UID=38 #NEXT_FLUFFY=6 sub get_next_number { my $var = shift; my $n = -1; open FILE, "<$0" or die "1:Could not open file : $!\n"; my @lines = ; close (FILE); for my $linenum ( 1 .. scalar @lines - 1 ) { if ( $lines[$linenum] =~ /#$var=(\d+)/ ) { $n = $1; my $m = $n + 1; $lines[$linenum] = "#$var=$m\n"; open FILE, ">$0" or die "2:Could not open file : $!\n"; print FILE $_ foreach @lines; close (FILE); } } return $n; } my $num; $num = get_next_number("NEXT_UID"); print "Next available number is : $num\n"; $num = get_next_number("NEXT_FLUFFY"); print "Next available number is : $num\n";