"John W. Krahn" wrote:
>
> Chris Hurt wrote:
> >
> > Hi all;
>
> Hello,
>
> > Got a newbie question for you. I have a number of exactly 10 digits
> > (2001090701) and I want to be able to read it from a file, cut the first 8
> > digits from the last two digits and put each into a variable (for comparison
> > and addition). I would do it in the korn shell like this:
> >
> > NUM=`grep Serial FILE | awk '{print $1}'`
> > TODAY=`date '+%Y%m%d'`
> > FDAY=`echo $NUM | cut -c 1-8`
> > typeset -Z2 INCR
> > INCR=`echo $NUM | cut -c 9-10`
> > if [ $FDAY -ne $TODAY ]; then
> > SNUM="${TODAY}01"
> > else
> > let INCR="$INCR + 1"
> > SNUM="${TODAY}${INCR}"
> > fi
> > print " $SNUM ;Serial" >> NEWFILE
>
> my ( $num, $snum );
>
> open FILE, $file or die "Cannot open $file: $!":
> /Serial/ and $num = (split)[0] and last while <FILE>;
> close FILE;
>
> my @date = localtime;
> my $today = sprintf '%04d%02d%02d', $date[5]+1900, $date[4]+1, $date[3];
>
> my ( $fday, $incr ) = unpack 'a8 a2', $num;
> if ( $fday == $today ) {
> $snum = "${today}01";
> }
> else {
> $snum = sprintf '%s%02d', $today, ++$incr;
> }
>
> open NEWFILE, ">> $newfile" or die "Cannot open $newfile: $!";
> print " $snum ;Serial"
Sorry, that should be:
print NEWFILE " $snum ;Serial"
John
--
use Perl;
program
fulfillment
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]