|
| s/// medf. read-only fejl Fra : Jesper Petersen |
Dato : 01-04-01 19:04 |
|
Hej!
Jeg har forsøgt at lave et lille script, som laver en liste over mine
dokumenter i en mappe. Nogle af dokumenterne har et nummer i navnet, svarende
til hvilket kapitel de er. I listen over dokumenterne ønsker jeg at fjerne
kapitelnummeret og har forsøgt mig med det følgende. Når jeg kører scriptet
kommer følgende fejlmeddelelse: "Modification of a read-only value attempted
at doc.pl line 13". Er der nogle der kan fortælle hvorfor, jeg får denne fejl?
(Det skal lige nævnes, at jeg er helt ny ud i Perl, så det hele kan sikkert
laves meget smartere (jeg gør heller ikke noget for at fjerne eventuelle
mellemrum i dokumentnavnene, men det kommer, jeg vil gerne lige have følgende
til at virke først))
$counter = 0;
open (Tekstfil, ">Docliste.txt");
@filelist =<*.doc>;
for (0 .. $#filelist )
{
substr($filelist[$counter], -4, 4) = '';
for ($filelist[$counter] =~ /\d{1,2}/) {s/\d{1,2}/''/g}
print Tekstfil "$filelist[$counter]\n";
$counter = $counter + 1;
}
Mvh.
Jesper
| |
Jesper Petersen (01-04-2001)
| Kommentar Fra : Jesper Petersen |
Dato : 01-04-01 22:02 |
|
Så er problemet er løst.
Jesper
| |
Adam Sjøgren (01-04-2001)
| Kommentar Fra : Adam Sjøgren |
Dato : 01-04-01 22:08 |
|
On Sun, 01 Apr 2001 23:01:32 +0200, Jesper Petersen wrote:
> Så er problemet er løst.
Super, så gider du måske forklare hvad det var, så andre også lærer
af'et?
,
--
"Here comes my darling, saying hello you Adam Sjøgren
Why you look so worried, whats a-wrong with you?" asjo@koldfront.dk
| |
Jesper Petersen (01-04-2001)
| Kommentar Fra : Jesper Petersen |
Dato : 01-04-01 23:34 |
|
>Super, så gider du måske forklare hvad det var, så andre også lærer
>af'et?
> ,
Selvfølgelig, jeg troede bare, at det kun var mig selv, der ikke kunne se
fejlen
Jeg havde skrevet følgende:
for ($filelist[$counter] =~ /\d{1,2}/) {s/\d{1,2}/''/g}
Det skal lige defineres, at det er på $filelist[$counter] at s/\d{1,2}/''/g
skal udføres, iøvrigt skal '' slet ikke være der, hvis jeg bare vil fjerne
tallene. Det kunne så se ud som følger:
for ($filelist[$counter] =~ /\d{1,2}/) {$filelist[$counter] =~ s/\d{1,2}//g}
Mvh.
Jesper
| |
|
|