#!/usr/bin/perl use strict; use warnings; sub get_next_number { open FILE, "<$0" or die "1:Could not open file : $!\n"; my @lines = <FILE>; my $n = $1 if ( @lines[scalar @lines - 1] =~ /#NEXT_UID=(\d+)/ ); my $m = $n + 1; pop @lines; push @lines, "#NEXT_UID=$m\n"; close (FILE); 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(); print "Next available number is : $num\n"; $num = get_next_number(); print "Next available number is : $num\n"; #NEXT_UID=14
#!/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 = <FILE>; 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";
In reply to Re: can a script change itself?
by thekestrel
in thread can a script change itself?
by deathbygoats
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |