← Back to team overview

sslug-teknik team mailing list archive

Re: Perl i "promt-mode"

 

"Michael Schmidt" <michael.zmit@xxxxxxxxx> writes:

>>> Men hvis jeg der skriver: s/old_text/new_text/g får jeg en
>>> fejlmedelese om at scripet s/old_text/new_text/g ikke findes.
>>
>> Det kan jeg ikke reproducere.
>>
> Jeg tror det er fordi min old streng indeholder - som jeg har forsøgt
> at escape ved at pakke det hele ind i " "
> s/"Media - Audio - DAF - "/""/g
> Can't open perl script "s/"Media - Audio - DAF - "/""/g" No such file
> or directory

Nej, hvis du får perl til at læse et script fra STDIN (ved ikke at
angive noget script) så vil den ikke opfatte det du skriver på stdin
som et filnavn der skal åbnes.

Jeg tror nærmere at du på prompten skriver

$ perl s/"Media - Audio - DAF - "/""/g

Og altså ikke trykker retur før din substitution, for så vil det blive
fortolket som navnet på et script. (Skønt når jeg forsøger ovenstående
bliver fejlen 

Can't open perl script "s/Media - Audio - DAF - //g": No such file or
directory

og ikke helt hvad du angiver at du får. din fejl kan jeg ikke gætte
mig til hvordan kan reproduceres)

 

>> De bedste muligheder for interaktivt perl-udvikling er nok enten at
>> (mis)bruge debuggeren 'perl -de1' (Her debugger du scriptet med det
>> ene statement '1') eller Matt Trouts Devel::REPL
>> (http://search.cpan.org/perldoc?Devel::REPL) der giver et rigtigt
>> read/eval/print loop.
>
> Uhh det lyder laaangt over min formåen og kunnen inden for området.
> Men det er da helt sikkert en god ide.

På en tilpas ny Debian(-ish) maskien kan man installere pakken
libdevel-repl-perl og bruge scriptet i
/usr/share/doc/libdevel-repl-perl/examples/re.pl

//Makholm


References