That doesn't work. You need a ($) to indicate the end. THe circumflex means
the beginning of the line. That should read:

$name =~ s/\s+$//;

Also, you don't need the (g)lobal flag because it is only at the end of the
text.

-Jess

-----Original Message-----
From: Agustin Rivera [mailto:[EMAIL PROTECTED]]
Sent: Monday, February 18, 2002 3:52 PM
To: [EMAIL PROTECTED]
Subject: Re: ignore spaces in files


If I think I am understanding you right, try

$name=~ s/\s+^//g;

Means any white space (\s+) before the end of name (^), remove (blank in
between the //'s)

Agustin Rivera
Webmaster, Pollstar.com
http://www.pollstar.com



----- Original Message -----
From: "Susan Aurand" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Monday, February 18, 2002 1:29 PM
Subject: ignore spaces in files


> I have been writing Perl code for (1) week as of  today. Thanks to the
> beginner user e:mail, and thank you to John Edwards, and
> [EMAIL PROTECTED], and other input I have learned from this page. I have
> put togther the following. It works well, and is doing what I want it to
> do. Except, 1 little problem remains. Please read the below, and I would
> appreciate any advice.
> I have tried trim and chomp with no results.
> Thank You Susan. (P.S. - I am not a student - I work in the ITC
> department.)
>
> This routine opens 15 different school files, for this example, I have
> shorten it to 1 school. It creates a data file
> call STNAME.DAT. This file contains, last name, first name, student #,
> and school #. I then open STNAME, look for
> duplicates using ( first 5 char's of last name+1 char of first name).
> Look in arrary does it exist. if yes, add a counter to name.
> I then store this in a result file, called result.dat. What my question
> is, how do I strip out the spaces on the last name if the last
> name is not 5 char. long. example: ASHE J      123456  396.
>
> Example:  open(FILE396,"396.TXT") or die $!;  # open file for input
> SCHOOLS INDIV. FILE
>              print OUT
>     substr($_,12,5),substr($_,30,1),substr($_,3,9),"
> ",substr($_,0,3),"\n"
>       while <FILE396>;
>          close(FILE396);
>
> # CREATE result file, look for duplicates add counter on name, rebuild
> string
>
>  my %names;
>
>  open(I,"STNAMES.DAT") or die"name: $!\n"; # open student consolidated
> names
>  open(O,">results.dat") or die"results: $!\n";  # result file open
> output
>
>    foreach $line(<I>)
>      {
>       my $name=substr($line,0,6);
>       my $workingname=$name;
>       my $counter=1;
>
>         while(exists($names{$workingname}))
>       {
>          $workingname=$name.$counter;
>          $counter++;
>       }
>
>          $names{$workingname}=$workingname;
>          print O $workingname,substr($line,7,13),"\n"; # add back
> Student #
>                                                        # School #
>       }
>
> # The file below is results.dat  (if last name is less than 5 chars. it
> fille in spaces. I want the spaces gone)
>
> LINDSD   11115 314
>
> LINDS1   13065 314
>
> LINDS2     225   396
>
> LINDS3   11125 378
>
> LOCK S   90174 314
>
> LOKE  J   14013 314
>
> LONDOS   13009 314
>
>
>
>
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to