Perl fejlmeddelelse "har du brug for at predeclare sige?"

For at bringe strengen til skærmen i programmeringssproget Perl har en indbygget funktion print. Men ud over at print og har stadig say.

Brug say i scripts

Hvis du bare prøve at bruge say i Perl-script, vil det fejl. Her er et eksempel på et script med fejl:

▶ Run
#!/usr/bin/perl

say 'Hello';

Hvis du gemmer denne kode til en fil script.pl og udføre perl script.pl, vises fejl:

String found where operator expected at script.pl line 3, near "say 'Hello'"
    (Do you need to predeclare say?)
syntax error at script.pl line 3, near "say 'Hello'"
Execution of script.pl aborted due to compilation errors.

For at stadig drage fordel af say , bør du udtrykkeligt siger, at vi ønsker at bruge denne funktion i sproget hjælp use feature qw(say);. Her er den fulde tekst af det script, som virker:

▶ Run
#!/usr/bin/perl

use feature qw(say);

say 'Hello';

Resultatet af script — på skærmen vises teksten Hello.

Brug say i odnotrahniki

Nogle opgaver er meget nem at løse ved hjælp af Perl odnotrahniki når hele teksten i programmet, er ikke i filen og har bestået parameter værdi -e på kommandolinjen.

Men hvis du bare køre perl -e 'say "Hello"', vises fejl:

String found where operator expected at -e line 1, near "say "Hello""
    (Do you need to predeclare say?)
syntax error at -e line 1, near "say "Hello""
Execution of -e aborted due to compilation errors.

For at bruge say i odnotrahniki du kan bruge den samme metode som for scripts: skriv ved kommandoprompten perl -e 'use feature qw(say); say "Hello"'.

Men det er meget mere bekvemt at bruge parameteren -E er -e. Mulighed -E indeholder alle de funktioner af sprog, så den lancering perl -E 'say "Hello"' viser de forventede linje Hello.

Andre artikler